dbwrap: dbwrap_name().
authorRusty Russell <rusty@rustcorp.com.au>
Fri, 22 Jun 2012 05:37:44 +0000 (15:07 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Fri, 22 Jun 2012 05:35:17 +0000 (07:35 +0200)
Useful for debug messages: particularly once we start switching between .tdb
and .ntdb files.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
lib/dbwrap/dbwrap.c
lib/dbwrap/dbwrap.h
lib/dbwrap/dbwrap_cache.c
lib/dbwrap/dbwrap_file.c
lib/dbwrap/dbwrap_private.h
lib/dbwrap/dbwrap_rbt.c
lib/dbwrap/dbwrap_tdb.c

index afb069221e689da354c48b3ae800248a9ae717cb..f898819b9dbec00b89d8ae5313eaa6e43cdb0372 100644 (file)
@@ -449,3 +449,8 @@ void dbwrap_db_id(struct db_context *db, const uint8_t **id, size_t *idlen)
 {
        db->id(db, id, idlen);
 }
+
+const char *dbwrap_name(struct db_context *db)
+{
+       return db->name;
+}
index 366e657680f271ede91ad9de1f69ed60f60f87f0..796475d3e2c2bcb1fc7c988b1357002c16414522 100644 (file)
@@ -81,7 +81,7 @@ NTSTATUS dbwrap_transaction_start_nonblock(struct db_context *db);
 int dbwrap_transaction_commit(struct db_context *db);
 int dbwrap_transaction_cancel(struct db_context *db);
 void dbwrap_db_id(struct db_context *db, const uint8_t **id, size_t *idlen);
-
+const char *dbwrap_name(struct db_context *db);
 
 /* The following definitions come from lib/dbwrap_util.c  */
 
index 4bfa6340af62c15b2e2d49f73c28471f4496608a..1badeb13b91659575df81f9d8f9f512202e7f66e 100644 (file)
@@ -209,6 +209,7 @@ struct db_context *db_open_cache(TALLOC_CTX *mem_ctx,
        db->parse_record = dbwrap_cache_parse_record;
        db->exists = dbwrap_cache_exists;
        db->id = dbwrap_cache_id;
+       db->name = dbwrap_name(ctx->backing);
        db->stored_callback = NULL;
        db->wipe = NULL;
        db->lock_order = 0;
index e0fd4ebc739525ece876c68a5ce9f756fac82397..4499021c578e86ec41fdcdefb04ea1dd28d6e406 100644 (file)
@@ -372,6 +372,7 @@ struct db_context *db_open_file(TALLOC_CTX *mem_ctx,
        result->traverse = db_file_traverse;
        result->traverse_read = db_file_traverse;
        result->persistent = ((tdb_flags & TDB_CLEAR_IF_FIRST) == 0);
+       result->name = name;
 
        ctx->locked_record = NULL;
        if (!(ctx->dirname = talloc_strdup(ctx, name))) {
index b0090e39ada27bc7e5d9d651878b1a1002a5d46e..f5b214086668aa55dbbbb611e67fce63b82314e3 100644 (file)
@@ -63,6 +63,7 @@ struct db_context {
        int (*wipe)(struct db_context *db);
        int (*check)(struct db_context *db);
        void (*id)(struct db_context *db, const uint8_t **id, size_t *idlen);
+       const char *name;
        void *private_data;
        enum dbwrap_lock_order lock_order;
        bool persistent;
index d512eac219892562809af6572f5fef513960e6ef..67794e6b96e947217d7b50a93c4ab63c184f54ca 100644 (file)
@@ -506,6 +506,7 @@ struct db_context *db_open_rbt(TALLOC_CTX *mem_ctx)
        result->parse_record = db_rbt_parse_record;
        result->lock_order = 0;
        result->id = db_rbt_id;
+       result->name = "dbwrap rbt";
        result->stored_callback = NULL;
 
        return result;
index 883c7f3c9c9df449f89c8da49954b0bd90a5108a..a6176b75c4712a7bbbc8ab11154db03dc05a1fa6 100644 (file)
@@ -473,6 +473,7 @@ struct db_context *db_open_tdb(TALLOC_CTX *mem_ctx,
        result->id = db_tdb_id;
        result->check = db_tdb_check;
        result->stored_callback = NULL;
+       result->name = tdb_name(db_tdb->wtdb->tdb);
        return result;
 
  fail: