diff options
Diffstat (limited to 'source3/lib/serverid.c')
-rw-r--r-- | source3/lib/serverid.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source3/lib/serverid.c b/source3/lib/serverid.c index 274b44b86f..c1b87f7929 100644 --- a/source3/lib/serverid.c +++ b/source3/lib/serverid.c @@ -25,6 +25,8 @@ #include "dbwrap/dbwrap_open.h" #include "lib/util/tdb_wrap.h" #include "lib/param/param.h" +#include "ctdbd_conn.h" +#include "messages.h" struct serverid_key { pid_t pid; @@ -122,6 +124,11 @@ bool serverid_register(const struct server_id id, uint32_t msg_flags) nt_errstr(status))); goto done; } +#ifdef HAVE_CTDB_CONTROL_CHECK_SRVIDS_DECL + if (lp_clustering()) { + register_with_ctdbd(messaging_ctdbd_connection(), id.unique_id); + } +#endif ret = true; done: TALLOC_FREE(rec); @@ -278,6 +285,12 @@ bool serverids_exist(const struct server_id *ids, int num_ids, bool *results) struct db_context *db; int i; +#ifdef HAVE_CTDB_CONTROL_CHECK_SRVIDS_DECL + if (lp_clustering()) { + return ctdb_serverids_exist(messaging_ctdbd_connection(), + ids, num_ids, results); + } +#endif if (!processes_exist(ids, num_ids, results)) { return false; } |