summaryrefslogtreecommitdiffstats
path: root/ctdb/server/ctdb_vacuum.c
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2014-02-14 22:02:41 +0100
committerAmitay Isaacs <amitay@gmail.com>2014-03-06 11:31:13 +1100
commit1b2fc1f096f80db5974eab021f12f0ad9af24882 (patch)
treeca5ba956ba533795598bd3424c67fd647ff7af1d /ctdb/server/ctdb_vacuum.c
parentcf407d208afdc70b31ce5013591c869b36f588f1 (diff)
downloadsamba-1b2fc1f096f80db5974eab021f12f0ad9af24882.tar.gz
samba-1b2fc1f096f80db5974eab021f12f0ad9af24882.tar.xz
samba-1b2fc1f096f80db5974eab021f12f0ad9af24882.zip
ctdb-vacuum: add consistency check for counts at end of process_delete_list()
Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'ctdb/server/ctdb_vacuum.c')
-rw-r--r--ctdb/server/ctdb_vacuum.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_vacuum.c b/ctdb/server/ctdb_vacuum.c
index e69452294e8..100377ee8ad 100644
--- a/ctdb/server/ctdb_vacuum.c
+++ b/ctdb/server/ctdb_vacuum.c
@@ -849,6 +849,7 @@ static int ctdb_process_delete_list(struct ctdb_db_context *ctdb_db,
uint32_t *active_nodes;
int num_active_nodes;
TALLOC_CTX *tmp_ctx;
+ uint32_t sum;
if (vdata->delete_count == 0) {
return 0;
@@ -1114,6 +1115,19 @@ success:
(unsigned)vdata->delete_left));
}
+ sum = vdata->delete_deleted
+ + vdata->delete_skipped
+ + vdata->delete_remote_error
+ + vdata->delete_local_error
+ + vdata->delete_left;
+
+ if (vdata->delete_count != sum) {
+ DEBUG(DEBUG_ERR, (__location__ " Inconsistency in vacuum "
+ "delete list counts for db[%s]: total[%u] != sum[%u]\n",
+ ctdb_db->db_name, (unsigned)vdata->delete_count,
+ (unsigned)sum));
+ }
+
if (vdata->delete_count > 0) {
DEBUG(DEBUG_INFO,
(__location__