From: Amitay Isaacs Date: Fri, 23 Jun 2017 06:15:57 +0000 (+1000) Subject: ctdb-client: Ask daemon for db open flags X-Git-Tag: tdb-1.3.14~169 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=43ca0e3d226dea933bcdb145e37e301e4711d181;p=thirdparty%2Fsamba.git ctdb-client: Ask daemon for db open flags Signed-off-by: Amitay Isaacs Reviewed-by: Martin Schwenke --- diff --git a/ctdb/client/ctdb_client.c b/ctdb/client/ctdb_client.c index d80a04d33c7..cc23b050825 100644 --- a/ctdb/client/ctdb_client.c +++ b/ctdb/client/ctdb_client.c @@ -2123,9 +2123,7 @@ struct ctdb_db_context *ctdb_attach(struct ctdb_context *ctdb, TDB_DATA data; int ret; int32_t res; - uint8_t db_flags = 0; int tdb_flags; - bool with_mutex = false; ctdb_db = ctdb_db_handle(ctdb, name); if (ctdb_db) { @@ -2142,29 +2140,6 @@ struct ctdb_db_context *ctdb_attach(struct ctdb_context *ctdb, data.dptr = discard_const(name); data.dsize = strlen(name)+1; -#ifdef TDB_MUTEX_LOCKING - if (!persistent) { - uint32_t mutex_enabled = 0; - - ret = ctdb_ctrl_get_tunable(ctdb, timeval_current_ofs(3,0), - CTDB_CURRENT_NODE, - "TDBMutexEnabled", - &mutex_enabled); - if (ret != 0) { - DEBUG(DEBUG_WARNING, ("Assuming no mutex support.\n")); - } - - if (mutex_enabled == 1) { - with_mutex = true; - } - } -#endif - - if (persistent) { - db_flags = CTDB_DB_FLAGS_PERSISTENT; - } - tdb_flags = ctdb_db_tdb_flags(db_flags, ctdb->valgrinding, with_mutex); - /* tell ctdb daemon to attach */ ret = ctdb_control(ctdb, CTDB_CURRENT_NODE, 0, persistent?CTDB_CONTROL_DB_ATTACH_PERSISTENT:CTDB_CONTROL_DB_ATTACH, @@ -2185,6 +2160,13 @@ struct ctdb_db_context *ctdb_attach(struct ctdb_context *ctdb, return NULL; } + ret = ctdb_ctrl_db_open_flags(ctdb, ctdb_db->db_id, &tdb_flags); + if (ret != 0) { + D_ERR("Failed to get tdb_flags for database '%s'\n", name); + talloc_free(ctdb_db); + return NULL; + } + ctdb_db->ltdb = tdb_wrap_open(ctdb_db, ctdb_db->db_path, 0, tdb_flags, O_RDWR, 0); if (ctdb_db->ltdb == NULL) {