diff options
author | Volker Lendecke <vl@samba.org> | 2010-08-31 16:52:56 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2010-08-31 17:07:41 +0200 |
commit | 5648c3f67eeebee0a17cf9e7b64fb2cbfe2e2e68 (patch) | |
tree | 4623f3f0cb705b3151febb3c1952b8925b44b1ff /source3/lib | |
parent | 808ceac9f54bb3988fc2bb6b0d86eaded07283e1 (diff) | |
download | samba-5648c3f67eeebee0a17cf9e7b64fb2cbfe2e2e68.tar.gz samba-5648c3f67eeebee0a17cf9e7b64fb2cbfe2e2e68.tar.bz2 samba-5648c3f67eeebee0a17cf9e7b64fb2cbfe2e2e68.zip |
s3: messaging_ctdbd_connection() was only called with procid_self()
Eventually we'll get this right...
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/dbwrap_ctdb.c | 13 | ||||
-rw-r--r-- | source3/lib/g_lock.c | 11 | ||||
-rw-r--r-- | source3/lib/messages_ctdbd.c | 4 | ||||
-rw-r--r-- | source3/lib/util.c | 2 |
4 files changed, 12 insertions, 18 deletions
diff --git a/source3/lib/dbwrap_ctdb.c b/source3/lib/dbwrap_ctdb.c index ceaadd2256..67425dcb79 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(procid_self()), + rets = ctdbd_control_local(messaging_ctdbd_connection(), CTDB_CONTROL_TRANS3_COMMIT, h->ctx->db_id, 0, db_ctdb_marshall_finish(h->m_write), @@ -1005,9 +1005,8 @@ again: ((struct ctdb_ltdb_header *)ctdb_data.dptr)->dmaster : -1, get_my_vnn())); - status = ctdbd_migrate( - messaging_ctdbd_connection(procid_self()), ctx->db_id, - key); + status = ctdbd_migrate(messaging_ctdbd_connection(), ctx->db_id, + key); if (!NT_STATUS_IS_OK(status)) { DEBUG(5, ("ctdb_migrate failed: %s\n", nt_errstr(status))); @@ -1112,8 +1111,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(procid_self()), - ctx->db_id, key, mem_ctx, data); + status = ctdbd_fetch(messaging_ctdbd_connection(), 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; @@ -1291,7 +1290,7 @@ struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx, db_ctdb->transaction = NULL; db_ctdb->db = result; - conn = messaging_ctdbd_connection(procid_self()); + conn = messaging_ctdbd_connection(); if (conn == NULL) { DEBUG(1, ("Could not connect to ctdb\n")); TALLOC_FREE(result); diff --git a/source3/lib/g_lock.c b/source3/lib/g_lock.c index 42bf3b0916..6e4c6d796c 100644 --- a/source3/lib/g_lock.c +++ b/source3/lib/g_lock.c @@ -312,8 +312,7 @@ NTSTATUS g_lock_lock(struct g_lock_ctx *ctx, const char *name, #ifdef CLUSTER_SUPPORT if (lp_clustering()) { - struct server_id my_id = messaging_server_id(ctx->msg); - status = ctdb_watch_us(messaging_ctdbd_connection(my_id)); + status = ctdb_watch_us(messaging_ctdbd_connection()); if (!NT_STATUS_IS_OK(status)) { DEBUG(10, ("could not register retry with ctdb: %s\n", nt_errstr(status))); @@ -388,11 +387,8 @@ NTSTATUS g_lock_lock(struct g_lock_ctx *ctx, const char *name, #ifdef CLUSTER_SUPPORT if (lp_clustering()) { - struct server_id my_id; struct ctdbd_connection *conn; - - my_id = messaging_server_id(ctx->msg); - conn = messaging_ctdbd_connection(my_id); + conn = messaging_ctdbd_connection(); r_fds = &_r_fds; FD_ZERO(r_fds); @@ -597,8 +593,7 @@ NTSTATUS g_lock_unlock(struct g_lock_ctx *ctx, const char *name) #ifdef CLUSTER_SUPPORT if (lp_clustering()) { - struct server_id my_id = messaging_server_id(ctx->msg); - ctdb_unwatch(messaging_ctdbd_connection(my_id)); + ctdb_unwatch(messaging_ctdbd_connection()); } #endif return status; diff --git a/source3/lib/messages_ctdbd.c b/source3/lib/messages_ctdbd.c index 9b8fafe8d4..871334649d 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(struct server_id id) +struct ctdbd_connection *messaging_ctdbd_connection(void) { if (global_ctdb_connection_pid == 0 && global_ctdbd_connection == NULL) { @@ -50,7 +50,7 @@ struct ctdbd_connection *messaging_ctdbd_connection(struct server_id id) DEBUG(0,("event_context_init failed\n")); } - msg = messaging_init(NULL, id, ev); + msg = messaging_init(NULL, procid_self(), ev); if (!msg) { DEBUG(0,("messaging_init failed\n")); return NULL; diff --git a/source3/lib/util.c b/source3/lib/util.c index 644f1830c6..315f3897d6 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -1296,7 +1296,7 @@ bool process_exists(const struct server_id pid) } #ifdef CLUSTER_SUPPORT - return ctdbd_process_exists(messaging_ctdbd_connection(procid_self()), + return ctdbd_process_exists(messaging_ctdbd_connection(), pid.vnn, pid.pid); #else return False; |