diff options
-rw-r--r-- | source3/lib/ctdbd_conn.c | 8 | ||||
-rw-r--r-- | source3/smbd/server.c | 4 |
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); |