Since
6423ca4bf293cac5e2f84b1a37bb29b06b5c05ed 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().
de6fe2a1dd6ab03b1c369b61da17fded72305b2d
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>
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)
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);