public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
* master - cman: Allow a recently left node to join cleanly.
@ 2008-08-28 14:18 Christine Caulfield
  0 siblings, 0 replies; only message in thread
From: Christine Caulfield @ 2008-08-28 14:18 UTC (permalink / raw)
  To: cluster-cvs-relay

Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=9c5b75565b831bb9a382e3c320a3461aa8130b15
Commit:        9c5b75565b831bb9a382e3c320a3461aa8130b15
Parent:        e80d71336fac784e0412a49c0d15fda90111b876
Author:        Christine Caulfield <ccaulfie@redhat.com>
AuthorDate:    Thu Aug 28 15:12:15 2008 +0100
Committer:     Christine Caulfield <ccaulfie@redhat.com>
CommitterDate: Thu Aug 28 15:12:15 2008 +0100

cman: Allow a recently left node to join cleanly.

If a node leaves cleanly and then joins within the corosync totem timeout
then odd things can happen and the nodeslist can get inconsistent.

With the rest of the cluster stack on top this is probably quite hard to
do I suspect.

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 1172f5d..3497369 100644
--- a/cman/daemon/commands.c
+++ b/cman/daemon/commands.c
@@ -2069,7 +2069,7 @@ void add_ais_node(int nodeid, uint64_t incarnation, int total_members)
 		node = add_new_node(tempname, nodeid, 1, total_members, NODESTATE_DEAD);
 	}
 
-	if (node->state == NODESTATE_DEAD) {
+	if (node->state == NODESTATE_DEAD || node->state == NODESTATE_LEAVING) {
 		gettimeofday(&node->join_time, NULL);
 		node->incarnation = incarnation;
 		node->state = NODESTATE_MEMBER;


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

only message in thread, other threads:[~2008-08-28 14:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-28 14:18 master - cman: Allow a recently left node to join cleanly 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).