dbwrap: Add "msg_ctx" to db_open_ctdb
authorVolker Lendecke <vl@samba.org>
Sun, 24 Apr 2016 15:37:07 +0000 (17:37 +0200)
committerRalph Boehme <slow@samba.org>
Tue, 17 May 2016 11:18:31 +0000 (13:18 +0200)
Another step towards making ctdbd_conn.c independent of messages.c. No call to
ctdb_conn_msg_ctx() anymore

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/lib/ctdb_dummy.c
source3/lib/dbwrap/dbwrap_ctdb.c
source3/lib/dbwrap/dbwrap_ctdb.h
source3/lib/dbwrap/dbwrap_open.c
source3/torture/test_dbwrap_ctdb.c

index 0e061becbc208fe6308c4ec23c33194fc5a70792..ec0bcc45bcb4b5b40ae7ea21d728d478858eb14f 100644 (file)
@@ -64,6 +64,7 @@ bool ctdbd_process_exists(struct ctdbd_connection *conn, uint32_t vnn, pid_t pid
 }
 
 struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx,
+                               struct messaging_context *msg_ctx,
                                struct ctdbd_connection *conn,
                                const char *name,
                                int hash_size, int tdb_flags,
index cf039843668704fc47e901b1939f74564d8452d7..ea76abcd046b033bd95e28cc4b30d0a191f304fd 100644 (file)
@@ -1578,6 +1578,7 @@ static size_t db_ctdb_id(struct db_context *db, uint8_t *id, size_t idlen)
 }
 
 struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx,
+                               struct messaging_context *msg_ctx,
                                struct ctdbd_connection *conn,
                                const char *name,
                                int hash_size, int tdb_flags,
@@ -1703,8 +1704,7 @@ struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx,
        }
 
        if (result->persistent) {
-               db_ctdb->lock_ctx = g_lock_ctx_init(
-                       db_ctdb, ctdb_conn_msg_ctx(db_ctdb->conn));
+               db_ctdb->lock_ctx = g_lock_ctx_init(db_ctdb, msg_ctx);
                if (db_ctdb->lock_ctx == NULL) {
                        DEBUG(0, ("g_lock_ctx_init failed\n"));
                        TALLOC_FREE(result);
index 2e4b93ce003e1a1060db71a7813e8b5bf9c419f5..3f047020abb0d25d478bf4dea2ebb66813f9e7da 100644 (file)
@@ -29,6 +29,7 @@ struct db_context;
 struct ctdbd_connection;
 
 struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx,
+                               struct messaging_context *msg_ctx,
                                struct ctdbd_connection *conn,
                                const char *name,
                                int hash_size, int tdb_flags,
index 805e823be0b9cb7495f0a98aed5a0608e51e36c8..feb9f5ebea28452c4d517402ba553e2a9f567b0c 100644 (file)
@@ -144,6 +144,7 @@ struct db_context *db_open(TALLOC_CTX *mem_ctx,
                }
                /* allow ctdb for individual databases to be disabled */
                if (lp_parm_bool(-1, "ctdb", partname, True)) {
+                       struct messaging_context *msg_ctx;
                        struct ctdbd_connection *conn;
 
                        conn = messaging_ctdbd_connection();
@@ -152,7 +153,9 @@ struct db_context *db_open(TALLOC_CTX *mem_ctx,
                                errno = EIO;
                                return NULL;
                        }
-                       result = db_open_ctdb(mem_ctx, conn, partname,
+                       msg_ctx = server_messaging_context();
+
+                       result = db_open_ctdb(mem_ctx, msg_ctx, conn, partname,
                                              hash_size,
                                              tdb_flags, open_flags, mode,
                                              lock_order, dbwrap_flags);
index 800b9fb58cd2b9937925e619e355f13a5e0757dd..b9bab9eb9e6649a3972f4d7355a4a2967b926fb7 100644 (file)
@@ -31,15 +31,18 @@ bool run_local_dbwrap_ctdb(int dummy)
        bool ret = false;
        NTSTATUS status;
        uint32_t val;
+       struct messaging_context *msg_ctx;
        struct ctdbd_connection *conn;
 
+       msg_ctx = server_messaging_context();
        conn = messaging_ctdbd_connection();
        if (conn == NULL) {
                fprintf(stderr, "no ctdbd connection\n");
                goto fail;
        }
 
-       db = db_open_ctdb(talloc_tos(), conn, "torture.tdb", 0, TDB_DEFAULT,
+       db = db_open_ctdb(talloc_tos(), msg_ctx, conn, "torture.tdb",
+                         0, TDB_DEFAULT,
                          O_RDWR, 0755, DBWRAP_LOCK_ORDER_1, DBWRAP_FLAG_NONE);
        if (db == NULL) {
                perror("db_open_ctdb failed");