]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ldb_tdb: Add errorstr to the key value ops
authorGary Lockyer <gary@catalyst.net.nz>
Tue, 13 Feb 2018 02:21:34 +0000 (15:21 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 5 Mar 2018 19:50:15 +0000 (20:50 +0100)
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/ldb/ldb_tdb/ldb_tdb.c
lib/ldb/ldb_tdb/ldb_tdb.h

index d7fe491796577fb3998ead24f274c1e154a05e52..6cdd5733b981305ec441ac13e8defd5f7f0b3ca7 100644 (file)
@@ -423,6 +423,11 @@ static int ltdb_error(struct ltdb_private *ltdb)
        return ltdb_err_map(tdb_error(ltdb->tdb));
 }
 
+static const char *ltdb_errorstr(struct ltdb_private *ltdb)
+{
+       return tdb_errorstr(ltdb->tdb);
+}
+
 /*
   store a record into the db
 */
@@ -1465,8 +1470,8 @@ static int ltdb_prepare_commit(struct ldb_module *module)
                ldb_debug_set(ldb_module_get_ctx(module),
                              LDB_DEBUG_FATAL,
                              "Failure during "
-                             "tdb_transaction_prepare_commit(): %s -> %s",
-                             tdb_errorstr(ltdb->tdb),
+                             "prepare_write): %s -> %s",
+                             ltdb->kv_ops->errorstr(ltdb),
                              ldb_strerror(ret));
                return ret;
        }
@@ -1496,7 +1501,7 @@ static int ltdb_end_trans(struct ldb_module *module)
                ret = ltdb->kv_ops->error(ltdb);
                ldb_asprintf_errstring(ldb_module_get_ctx(module),
                                       "Failure during tdb_transaction_commit(): %s -> %s",
-                                      tdb_errorstr(ltdb->tdb),
+                                      ltdb->kv_ops->errorstr(ltdb),
                                       ldb_strerror(ret));
                return ret;
        }
@@ -1733,6 +1738,7 @@ static const struct kv_db_ops key_value_ops = {
        .finish_write = ltdb_tdb_transaction_commit,
        .abort_write = ltdb_tdb_transaction_cancel,
        .error = ltdb_error,
+       .errorstr = ltdb_errorstr,
        .name = ltdb_tdb_name,
        .has_changed = ltdb_tdb_changed,
 };
index ba827f92a885e9eaa7b7ba56a9b6697b6d481833..5c930bf997a10c4d182bc267d490db7b9c5706ee 100644 (file)
@@ -15,6 +15,7 @@ struct kv_db_ops {
        int (*abort_write)(struct ltdb_private *);
        int (*finish_write)(struct ltdb_private *);
        int (*error)(struct ltdb_private *ltdb);
+       const char * (*errorstr)(struct ltdb_private *ltdb);
        const char * (*name)(struct ltdb_private *ltdb);
        bool (*has_changed)(struct ltdb_private *ltdb);
 };