summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/lib/ctdbd_conn.c8
-rw-r--r--source3/smbd/server.c4
2 files changed, 12 insertions, 0 deletions
diff --git a/source3/lib/ctdbd_conn.c b/source3/lib/ctdbd_conn.c
index 45dd019efc..5fc4b7ce1f 100644
--- a/source3/lib/ctdbd_conn.c
+++ b/source3/lib/ctdbd_conn.c
@@ -353,6 +353,14 @@ static NTSTATUS ctdb_read_req(struct ctdbd_connection *conn, uint32 reqid,
goto next_pkt;
}
+ if (msg->srvid == CTDB_SRVID_RECONFIGURE) {
+ DEBUG(0,("Got cluster reconfigure message in ctdb_read_req\n"));
+ messaging_send(conn->msg_ctx, procid_self(),
+ MSG_SMB_BRL_VALIDATE, &data_blob_null);
+ TALLOC_FREE(hdr);
+ goto next_pkt;
+ }
+
if (!(msg_state = TALLOC_P(NULL, struct deferred_msg_state))) {
DEBUG(0, ("talloc failed\n"));
TALLOC_FREE(hdr);
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 05f11f6753..d083fec494 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -573,6 +573,10 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
MSG_SMB_STAT_CACHE_DELETE, smb_stat_cache_delete);
brl_register_msgs(smbd_messaging_context());
+#ifdef CLUSTER_SUPPORT
+ ctdbd_register_reconfigure(messaging_ctdbd_connection());
+#endif
+
#ifdef DEVELOPER
messaging_register(smbd_messaging_context(), NULL,
MSG_SMB_INJECT_FAULT, msg_inject_fault);