From 300667e4a9f02104fc8759dd846ea41f400441bf Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 4 Jul 2010 16:54:04 +0200 Subject: s3: Pass procid_self() explicitly to messaging_ctdbd_connection() --- source3/include/messages.h | 2 +- source3/lib/dbwrap_ctdb.c | 11 +++++++---- source3/lib/g_lock.c | 9 ++++++--- source3/lib/messages_ctdbd.c | 4 ++-- source3/lib/util.c | 4 ++-- source3/smbd/process.c | 2 +- source3/smbd/server.c | 3 ++- 7 files changed, 21 insertions(+), 14 deletions(-) diff --git a/source3/include/messages.h b/source3/include/messages.h index 805889a805..0e0019e8ab 100644 --- a/source3/include/messages.h +++ b/source3/include/messages.h @@ -116,7 +116,7 @@ bool messaging_tdb_parent_init(void); NTSTATUS messaging_ctdbd_init(struct messaging_context *msg_ctx, TALLOC_CTX *mem_ctx, struct messaging_backend **presult); -struct ctdbd_connection *messaging_ctdbd_connection(void); +struct ctdbd_connection *messaging_ctdbd_connection(struct server_id id); bool message_send_all(struct messaging_context *msg_ctx, int msg_type, diff --git a/source3/lib/dbwrap_ctdb.c b/source3/lib/dbwrap_ctdb.c index bef91cb1ec..321a071aaa 100644 --- a/source3/lib/dbwrap_ctdb.c +++ b/source3/lib/dbwrap_ctdb.c @@ -794,7 +794,7 @@ static int db_ctdb_transaction_commit(struct db_context *db) again: /* tell ctdbd to commit to the other nodes */ - rets = ctdbd_control_local(messaging_ctdbd_connection(), + rets = ctdbd_control_local(messaging_ctdbd_connection(procid_self()), CTDB_CONTROL_TRANS3_COMMIT, h->ctx->db_id, 0, db_ctdb_marshall_finish(h->m_write), @@ -1005,7 +1005,9 @@ again: ((struct ctdb_ltdb_header *)ctdb_data.dptr)->dmaster : -1, get_my_vnn())); - status = ctdbd_migrate(messaging_ctdbd_connection(),ctx->db_id, key); + status = ctdbd_migrate( + messaging_ctdbd_connection(procid_self()), ctx->db_id, + key); if (!NT_STATUS_IS_OK(status)) { DEBUG(5, ("ctdb_migrate failed: %s\n", nt_errstr(status))); @@ -1110,7 +1112,8 @@ static int db_ctdb_fetch(struct db_context *db, TALLOC_CTX *mem_ctx, SAFE_FREE(ctdb_data.dptr); /* we weren't able to get it locally - ask ctdb to fetch it for us */ - status = ctdbd_fetch(messaging_ctdbd_connection(),ctx->db_id, key, mem_ctx, data); + status = ctdbd_fetch(messaging_ctdbd_connection(procid_self()), + ctx->db_id, key, mem_ctx, data); if (!NT_STATUS_IS_OK(status)) { DEBUG(5, ("ctdbd_fetch failed: %s\n", nt_errstr(status))); return -1; @@ -1288,7 +1291,7 @@ struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx, db_ctdb->transaction = NULL; db_ctdb->db = result; - conn = messaging_ctdbd_connection(); + conn = messaging_ctdbd_connection(procid_self()); if (!NT_STATUS_IS_OK(ctdbd_db_attach(conn, name, &db_ctdb->db_id, tdb_flags))) { DEBUG(0, ("ctdbd_db_attach failed for %s\n", name)); diff --git a/source3/lib/g_lock.c b/source3/lib/g_lock.c index d7828e228f..49f719b5fc 100644 --- a/source3/lib/g_lock.c +++ b/source3/lib/g_lock.c @@ -312,7 +312,8 @@ NTSTATUS g_lock_lock(struct g_lock_ctx *ctx, const char *name, #ifdef CLUSTER_SUPPORT if (lp_clustering()) { - status = ctdb_watch_us(messaging_ctdbd_connection()); + status = ctdb_watch_us( + messaging_ctdbd_connection(procid_self())); if (!NT_STATUS_IS_OK(status)) { DEBUG(10, ("could not register retry with ctdb: %s\n", nt_errstr(status))); @@ -387,7 +388,9 @@ NTSTATUS g_lock_lock(struct g_lock_ctx *ctx, const char *name, #ifdef CLUSTER_SUPPORT if (lp_clustering()) { - struct ctdbd_connection *conn = messaging_ctdbd_connection(); + struct ctdbd_connection *conn; + + conn = messaging_ctdbd_connection(procid_self()); r_fds = &_r_fds; FD_ZERO(r_fds); @@ -592,7 +595,7 @@ NTSTATUS g_lock_unlock(struct g_lock_ctx *ctx, const char *name) #ifdef CLUSTER_SUPPORT if (lp_clustering()) { - ctdb_unwatch(messaging_ctdbd_connection()); + ctdb_unwatch(messaging_ctdbd_connection(procid_self())); } #endif return status; diff --git a/source3/lib/messages_ctdbd.c b/source3/lib/messages_ctdbd.c index 871334649d..9b8fafe8d4 100644 --- a/source3/lib/messages_ctdbd.c +++ b/source3/lib/messages_ctdbd.c @@ -38,7 +38,7 @@ struct messaging_ctdbd_context { static struct ctdbd_connection *global_ctdbd_connection; static int global_ctdb_connection_pid; -struct ctdbd_connection *messaging_ctdbd_connection(void) +struct ctdbd_connection *messaging_ctdbd_connection(struct server_id id) { if (global_ctdb_connection_pid == 0 && global_ctdbd_connection == NULL) { @@ -50,7 +50,7 @@ struct ctdbd_connection *messaging_ctdbd_connection(void) DEBUG(0,("event_context_init failed\n")); } - msg = messaging_init(NULL, procid_self(), ev); + msg = messaging_init(NULL, id, ev); if (!msg) { DEBUG(0,("messaging_init failed\n")); return NULL; diff --git a/source3/lib/util.c b/source3/lib/util.c index 2a4d0501fe..dc243ecf1d 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -1294,8 +1294,8 @@ bool process_exists(const struct server_id pid) } #ifdef CLUSTER_SUPPORT - return ctdbd_process_exists(messaging_ctdbd_connection(), pid.vnn, - pid.pid); + return ctdbd_process_exists(messaging_ctdbd_connection(procid_self()), + pid.vnn, pid.pid); #else return False; #endif diff --git a/source3/smbd/process.c b/source3/smbd/process.c index b0bae927b9..13fec92ea5 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -3060,7 +3060,7 @@ void smbd_process(void) NTSTATUS status; status = ctdbd_register_ips( - messaging_ctdbd_connection(), + messaging_ctdbd_connection(procid_self()), &srv, &clnt, release_ip, NULL); if (!NT_STATUS_IS_OK(status)) { diff --git a/source3/smbd/server.c b/source3/smbd/server.c index b870fa7b9d..3660abb659 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -690,7 +690,8 @@ static bool open_sockets_smbd(struct smbd_parent_context *parent, #ifdef CLUSTER_SUPPORT if (lp_clustering()) { - ctdbd_register_reconfigure(messaging_ctdbd_connection()); + ctdbd_register_reconfigure( + messaging_ctdbd_connection(procid_self())); } #endif -- cgit