diff options
author | Martin Schwenke <martin@meltin.net> | 2012-07-06 20:43:46 +1000 |
---|---|---|
committer | Martin Schwenke <martin@meltin.net> | 2012-08-08 16:15:03 +1000 |
commit | 735c9107e1e16f8fe0680e365cc2f6ef65dd9a1e (patch) | |
tree | fd9475ca7264b933076a67ff706ba4ba1871263d | |
parent | 97248de3a965b333c341724aecf08cb81d676eed (diff) | |
download | samba-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.c | 4 |
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; } |