From: Ronnie Sahlberg Date: Mon, 9 Jul 2007 02:55:15 +0000 (+1000) Subject: a better way to fix the DISCONNECT|BANNED vs DISCONNECT bug X-Git-Tag: tevent-0.9.20~348^2~2462^2~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b871c3e365bd62a4c8ad9bac8c253dba4b894c9d;p=thirdparty%2Fsamba.git a better way to fix the DISCONNECT|BANNED vs DISCONNECT bug (This used to be ctdb commit 5c638d7731c5a268de02d3a37828ac7aec9a12de) --- 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,