public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
From: Christine Caulfield <chrissie@fedoraproject.org>
To: cluster-cvs-relay@redhat.com
Subject: cluster: STABLE3 - cman: Don't eject nodes that were quorate on their own if we have no state
Date: Tue, 17 Feb 2009 17:17:00 -0000	[thread overview]
Message-ID: <20090217171713.81AB6120284@lists.fedorahosted.org> (raw)

Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=7539016097186bca54d0929bc5f1ae0791bd8afe
Commit:        7539016097186bca54d0929bc5f1ae0791bd8afe
Parent:        3ecd9f653d316941c748f3c65e8ab88487db08e5
Author:        Christine Caulfield <ccaulfie@redhat.com>
AuthorDate:    Tue Feb 17 17:14:00 2009 +0000
Committer:     Christine Caulfield <ccaulfie@redhat.com>
CommitterDate: Tue Feb 17 17:14:00 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 490607d..5da3af3 100644
--- a/cman/daemon/commands.c
+++ b/cman/daemon/commands.c
@@ -1881,7 +1881,7 @@ static void do_process_transition(int nodeid, char *data)
 	/* 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) {


                 reply	other threads:[~2009-02-17 17:17 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090217171713.81AB6120284@lists.fedorahosted.org \
    --to=chrissie@fedoraproject.org \
    --cc=cluster-cvs-relay@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).