From: Michael Adam Date: Fri, 17 Dec 2010 01:22:02 +0000 (+0100) Subject: When wiping a database, clear the delete_queue. X-Git-Tag: ctdb-1.2.40~179 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;ds=sidebyside;h=77249785f6f520c412b7c28d4b5e77d2b4e62696;p=ctdb.git When wiping a database, clear the delete_queue. --- diff --git a/server/ctdb_freeze.c b/server/ctdb_freeze.c index 86cb5edc..0f70fd35 100644 --- a/server/ctdb_freeze.c +++ b/server/ctdb_freeze.c @@ -25,6 +25,7 @@ #include "../include/ctdb_private.h" #include "lib/util/dlinklist.h" #include "db_wrap.h" +#include "../common/rb_tree.h" static bool later_db(const char *name) { @@ -605,5 +606,15 @@ int32_t ctdb_control_wipe_database(struct ctdb_context *ctdb, TDB_DATA indata) return -1; } + if (!ctdb_db->persistent) { + talloc_free(ctdb_db->delete_queue); + ctdb_db->delete_queue = trbt_create(ctdb_db, 0); + if (ctdb_db->delete_queue == NULL) { + DEBUG(DEBUG_ERR, (__location__ " Failed to re-create " + "the vacuum tree.\n")); + return -1; + } + } + return 0; }