diff options
author | Michael Adam <obnox@samba.org> | 2010-12-20 17:25:35 +0100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2011-03-14 13:35:47 +0100 |
commit | 8395fcc0793b49b6910f640d6ac67e376bf08fd7 (patch) | |
tree | 3844c83d9f332c763a3623531ad7e5367c0c280e | |
parent | bb22135f28882984a4ef9cf85c34cb0c15e42216 (diff) | |
download | samba-8395fcc0793b49b6910f640d6ac67e376bf08fd7.tar.gz samba-8395fcc0793b49b6910f640d6ac67e376bf08fd7.tar.xz samba-8395fcc0793b49b6910f640d6ac67e376bf08fd7.zip |
vacuum: traverse the delete_queue befor traversing the database.
(This used to be ctdb commit 04c335f9195a5fd83c91a57d06b1e4eaa511844e)
-rw-r--r-- | ctdb/server/ctdb_vacuum.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_vacuum.c b/ctdb/server/ctdb_vacuum.c index 01887bda8a..c44c33badb 100644 --- a/ctdb/server/ctdb_vacuum.c +++ b/ctdb/server/ctdb_vacuum.c @@ -410,6 +410,12 @@ static int ctdb_vacuum_db(struct ctdb_db_context *ctdb_db, struct vacuum_data *v vdata->list[i]->db_id = ctdb_db->db_id; } + /* + * Traverse the delete_queue. + * This builds the same lists as the db traverse. + */ + trbt_traversearray32(ctdb_db->delete_queue, 1, delete_queue_traverse, vdata); + /* read-only traverse, looking for records that might be able to be vacuumed */ if (tdb_traverse_read(ctdb_db->ltdb->tdb, vacuum_traverse, vdata) == -1 || vdata->traverse_error) { |