summaryrefslogtreecommitdiff
path: root/source3/lib/dbwrap/dbwrap_ctdb.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2012-02-15 14:57:01 +0100
committerVolker Lendecke <vl@samba.org>2012-04-20 13:42:40 +0200
commit0f20ffbcbd41895dd073051539411f7194ae8224 (patch)
tree15494f3657fbbcb12ea60df0ed9255a0bb7e8fd6 /source3/lib/dbwrap/dbwrap_ctdb.c
parente3de5e4fb6703976d7592b4dd8a52495a7deb951 (diff)
downloadsamba-0f20ffbcbd41895dd073051539411f7194ae8224.tar.gz
samba-0f20ffbcbd41895dd073051539411f7194ae8224.tar.bz2
samba-0f20ffbcbd41895dd073051539411f7194ae8224.zip
s3-dbwrap: Add dbwrap_db_id
This returns a blob uniquely identifying the database
Diffstat (limited to 'source3/lib/dbwrap/dbwrap_ctdb.c')
-rw-r--r--source3/lib/dbwrap/dbwrap_ctdb.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/lib/dbwrap/dbwrap_ctdb.c b/source3/lib/dbwrap/dbwrap_ctdb.c
index 3d08d1c86f..0454e62e69 100644
--- a/source3/lib/dbwrap/dbwrap_ctdb.c
+++ b/source3/lib/dbwrap/dbwrap_ctdb.c
@@ -1490,6 +1490,16 @@ static int db_ctdb_get_flags(struct db_context *db)
return tdb_get_flags(ctx->wtdb->tdb);
}
+static void db_ctdb_id(struct db_context *db, const uint8_t **id,
+ size_t *idlen)
+{
+ struct db_ctdb_ctx *ctx = talloc_get_type_abort(
+ db->private_data, struct db_ctdb_ctx);
+
+ *id = (uint8_t *)&ctx->db_id;
+ *idlen = sizeof(ctx->db_id);
+}
+
struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx,
const char *name,
int hash_size, int tdb_flags,
@@ -1599,6 +1609,7 @@ struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx,
result->transaction_start = db_ctdb_transaction_start;
result->transaction_commit = db_ctdb_transaction_commit;
result->transaction_cancel = db_ctdb_transaction_cancel;
+ result->id = db_ctdb_id;
DEBUG(3,("db_open_ctdb: opened database '%s' with dbid 0x%x\n",
name, db_ctdb->db_id));