From b871c3e365bd62a4c8ad9bac8c253dba4b894c9d Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Mon, 9 Jul 2007 12:55:15 +1000 Subject: [PATCH] a better way to fix the DISCONNECT|BANNED vs DISCONNECT bug (This used to be ctdb commit 5c638d7731c5a268de02d3a37828ac7aec9a12de) --- ctdb/server/ctdb_recoverd.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c index 19e843ef3f2..bba963b9d1d 100644 --- a/ctdb/server/ctdb_recoverd.c +++ b/ctdb/server/ctdb_recoverd.c @@ -385,11 +385,6 @@ static int update_flags_on_all_nodes(struct ctdb_context *ctdb, struct ctdb_node for (i=0;inum;i++) { struct ctdb_node_flag_change c; TDB_DATA data; - uint32_t flags = nodemap->nodes[i].flags; - - if (flags & NODE_FLAGS_DISCONNECTED) { - continue; - } c.vnn = nodemap->nodes[i].vnn; c.flags = nodemap->nodes[i].flags; @@ -1325,17 +1320,9 @@ again: vnnmap, nodemap->nodes[j].vnn); goto again; } - if ((remote_nodemap->nodes[i].flags & NODE_FLAGS_DISCONNECTED) != - (nodemap->nodes[i].flags & NODE_FLAGS_DISCONNECTED)) { - DEBUG(0, (__location__ " Remote node:%u has different nodemap disconnected flag for %d (0x%x vs 0x%x)\n", - nodemap->nodes[j].vnn, i, - remote_nodemap->nodes[i].flags, nodemap->nodes[i].flags)); - do_recovery(rec, mem_ctx, vnn, num_active, nodemap, - vnnmap, nodemap->nodes[j].vnn); - goto again; - } else if ((remote_nodemap->nodes[i].flags & NODE_FLAGS_BANNED) != - (nodemap->nodes[i].flags & NODE_FLAGS_BANNED)) { - DEBUG(0, (__location__ " Remote node:%u has different nodemap banned flag for %d (0x%x vs 0x%x)\n", + if ((remote_nodemap->nodes[i].flags & NODE_FLAGS_INACTIVE) != + (nodemap->nodes[i].flags & NODE_FLAGS_INACTIVE)) { + DEBUG(0, (__location__ " Remote node:%u has different nodemap flag for %d (0x%x vs 0x%x)\n", nodemap->nodes[j].vnn, i, remote_nodemap->nodes[i].flags, nodemap->nodes[i].flags)); do_recovery(rec, mem_ctx, vnn, num_active, nodemap, -- 2.47.3