mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
vacuum: fix crash on vacuum abort
Martin Schwenke discovered that 517f05e42f17766b1e8db8f1f4789cbad968e304 ("freeze: abort vacuuming when we're going to freeze.") used ctdb_db for a logging message which is in fact uninitialized, causing a crash (even if it wasn't actually logged). Initialize it properly. Also fix incorrect format in another logging message introduced in that same change. CQ:S1019093 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (This used to be ctdb commit 8e518950ba281502318d6300f7a5ec6cdf6b5674)
This commit is contained in:
parent
af55c910a4
commit
0b07f91d36
@ -636,6 +636,7 @@ static int ctdb_repack_db(struct ctdb_db_context *ctdb_db, TALLOC_CTX *mem_ctx)
|
||||
vdata->vacuum_limit = vacuum_limit;
|
||||
vdata->repack_limit = repack_limit;
|
||||
vdata->delete_tree = trbt_create(vdata, 0);
|
||||
vdata->ctdb_db = ctdb_db;
|
||||
if (vdata->delete_tree == NULL) {
|
||||
DEBUG(DEBUG_ERR,(__location__ " Out of memory\n"));
|
||||
talloc_free(vdata);
|
||||
@ -887,9 +888,9 @@ void ctdb_stop_vacuuming(struct ctdb_context *ctdb)
|
||||
{
|
||||
/* Simply free them all. */
|
||||
while (ctdb->vacuumers) {
|
||||
DEBUG(DEBUG_INFO, ("Aborting vacuuming for %s (%p)\n",
|
||||
DEBUG(DEBUG_INFO, ("Aborting vacuuming for %s (%i)\n",
|
||||
ctdb->vacuumers->vacuum_handle->ctdb_db->db_name,
|
||||
ctdb->vacuumers->child_pid));
|
||||
(int)ctdb->vacuumers->child_pid));
|
||||
/* vacuum_child_destructor kills it, removes from list */
|
||||
talloc_free(ctdb->vacuumers);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user