1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

ctdb-call: Delete old defer queue if recovery occurs

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
This commit is contained in:
Amitay Isaacs 2015-09-23 14:47:58 +10:00 committed by Amitay Isaacs
parent 3d11efe3c6
commit d701072c3e

View File

@ -482,8 +482,15 @@ static int dmaster_defer_setup(struct ctdb_db_context *ctdb_db,
/* Already exists */
ddq = trbt_lookuparray32(ctdb_db->defer_dmaster, k[0], k);
if (ddq != NULL) {
talloc_free(k);
return 0;
if (ddq->generation == ctdb_db->generation) {
talloc_free(k);
return 0;
}
/* Recovery ocurred - get rid of old queue. All the deferred
* requests will be resent anyway from ctdb_call_resend_db.
*/
talloc_free(ddq);
}
ddq = talloc(hdr, struct dmaster_defer_queue);