1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-10 01:18:15 +03:00

s3:cleanupd: use MSG_SMB_BRL_VALIDATE to signal cleanupd unclean process shutdown

Since 6423ca4bf2 messaging_send_all()
broadcasts messages in a cluster, so cleanupd receives those broadcasts
and acts upon it by re-broadcasting the message. Result: message
storm.

By reactivating the currently unused MSG_SMB_BRL_VALIDATE for the
trigger message to cleanupd we avoid the storm.

Note that MSG_SMB_BRL_VALIDATE was unused only in the sense that noone
*listened* to it, but we were still *sending* the message in
smbd_parent_ctdb_reconfigured(). de6fe2a1dd
removed listening for MSG_SMB_BRL_VALIDATE from cleanupd. This commits
brings it back.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=13414

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
Ralph Boehme 2018-04-30 19:03:41 +02:00 committed by Jeremy Allison
parent a753ccfd94
commit d3b9d11bad
2 changed files with 2 additions and 2 deletions

View File

@ -757,7 +757,7 @@ static void cleanup_timeout_fn(struct tevent_context *event_ctx,
parent->cleanup_te = NULL;
messaging_send_buf(parent->msg_ctx, parent->cleanupd,
MSG_SMB_UNLOCK, NULL, 0);
MSG_SMB_BRL_VALIDATE, NULL, 0);
}
static void cleanupd_started(struct tevent_req *req)

View File

@ -71,7 +71,7 @@ struct tevent_req *smbd_cleanupd_send(TALLOC_CTX *mem_ctx,
return tevent_req_post(req, ev);
}
status = messaging_register(msg, NULL, MSG_SMB_UNLOCK,
status = messaging_register(msg, NULL, MSG_SMB_BRL_VALIDATE,
smbd_cleanupd_unlock);
if (tevent_req_nterror(req, status)) {
return tevent_req_post(req, ev);