summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2012-07-06 20:43:46 +1000
committerMartin Schwenke <martin@meltin.net>2012-08-08 16:15:03 +1000
commit735c9107e1e16f8fe0680e365cc2f6ef65dd9a1e (patch)
treefd9475ca7264b933076a67ff706ba4ba1871263d
parent97248de3a965b333c341724aecf08cb81d676eed (diff)
downloadsamba-735c9107e1e16f8fe0680e365cc2f6ef65dd9a1e.tar.gz
samba-735c9107e1e16f8fe0680e365cc2f6ef65dd9a1e.tar.xz
samba-735c9107e1e16f8fe0680e365cc2f6ef65dd9a1e.zip
recoverd: All inactive nodes should yield recovery master role
Not just stopped nodes. In reality, this means that banned nodes will also yield, since nodes in the other inactive states won't be running a daemon. This seems sensible since if another node notices that an inactive node is the recovery master then it will force an election anyway. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit fc18188b7b63eb0dafbc47e3abf80e306e1dfc31)
-rw-r--r--ctdb/server/ctdb_recoverd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c
index 11b516a271..02ce69fd23 100644
--- a/ctdb/server/ctdb_recoverd.c
+++ b/ctdb/server/ctdb_recoverd.c
@@ -3325,8 +3325,8 @@ static void main_loop(struct ctdb_context *ctdb, struct ctdb_recoverd *rec,
/* If the local node is stopped, verify we are not the recmaster
and yield this role if so
*/
- if ((nodemap->nodes[pnn].flags & NODE_FLAGS_STOPPED) && (rec->recmaster == pnn)) {
- DEBUG(DEBUG_ERR,("Local node is STOPPED. Yielding recmaster role\n"));
+ if ((nodemap->nodes[pnn].flags & NODE_FLAGS_INACTIVE) && (rec->recmaster == pnn)) {
+ DEBUG(DEBUG_ERR,("Local node is INACTIVE. Yielding recmaster role\n"));
force_election(rec, pnn, nodemap);
return;
}