public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
* cluster: RHEL5 - cman: Don't eject nodes that were quorate on their own if we have no state
@ 2009-02-20  9:28 Christine Caulfield
  0 siblings, 0 replies; only message in thread
From: Christine Caulfield @ 2009-02-20  9:28 UTC (permalink / raw)
  To: cluster-cvs-relay

Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=0bc0fbcf186c76eae15c17aef1e09ce90d34a771
Commit:        0bc0fbcf186c76eae15c17aef1e09ce90d34a771
Parent:        f3cf9a2daa10da1f4817f98901a2d75e0c147eb2
Author:        Christine Caulfield <ccaulfie@redhat.com>
AuthorDate:    Tue Feb 17 17:14:00 2009 +0000
Committer:     Christine Caulfield <ccaulfie@redhat.com>
CommitterDate: Fri Feb 20 09:28:24 2009 +0000

cman: Don't eject nodes that were quorate on their own if we have no state

If a node boots up and becomes quorate on its own (eg because of
expected_votes=1 or qdisk) and another node then joined in the cluster, the
new node would kill the first node because it detects that it had state and
was not previously part of the cluster.

Now it checks to see if the new node also has state. If it does not then
the cluster join is allowed because we are joining a stateful node to
a stateless node and that should be allowed.

bz#485026

Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
---
 cman/daemon/commands.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/cman/daemon/commands.c b/cman/daemon/commands.c
index 0946d8a..a97d244 100644
--- a/cman/daemon/commands.c
+++ b/cman/daemon/commands.c
@@ -1739,7 +1739,7 @@ static void do_process_transition(int nodeid, char *data, int len)
 	/* Newer nodes 6.1.0 onwards, set the DIRTY flag if they have state. If the new node has been down
 	   and has state then we mark it disallowed because we cannot merge stateful nodes */
 	if ( (msg->flags & NODE_FLAGS_DIRTY && (node->flags & NODE_FLAGS_BEENDOWN)) ||
-	     (msg->flags & NODE_FLAGS_DIRTY && msg->first_trans && !node->us)) {
+	     (msg->flags & NODE_FLAGS_DIRTY && msg->first_trans && !node->us && (us->flags & NODE_FLAGS_DIRTY))) {
 		/* Don't duplicate messages */
 		if (node->state != NODESTATE_AISONLY) {
 			if (cluster_is_quorate) {


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-02-20  9:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-20  9:28 cluster: RHEL5 - cman: Don't eject nodes that were quorate on their own if we have no state Christine Caulfield

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).