]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ctdb-vacuum: Process all records not deleted on a remote node
authorAmitay Isaacs <amitay@gmail.com>
Mon, 30 Sep 2019 06:34:35 +0000 (16:34 +1000)
committerKarolin Seeger <kseeger@samba.org>
Wed, 16 Oct 2019 12:16:21 +0000 (12:16 +0000)
This currently skips the last record.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14147
RN: Avoid potential data loss during recovery after vacuuming error

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
(cherry picked from commit 33f1c9d9654fbdcb99c23f9d23c4bbe2cc596b98)

ctdb/server/ctdb_vacuum.c

index 2194b7f4da75619195355b7fd979264ffe8e6236..fa43eaa8e67f301863416f0bad57fb6beaba457d 100644 (file)
@@ -814,7 +814,7 @@ static void ctdb_process_delete_list(struct ctdb_db_context *ctdb_db,
                 */
                records = (struct ctdb_marshall_buffer *)outdata.dptr;
                rec = (struct ctdb_rec_data_old *)&records->data[0];
-               while (records->count-- > 1) {
+               while (records->count-- > 0) {
                        TDB_DATA reckey, recdata;
                        struct ctdb_ltdb_header *rechdr;
                        struct delete_record_data *dd;