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

Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=78722d4068c7f2810a43615c69591e9e6fb9b9a4
Commit:        78722d4068c7f2810a43615c69591e9e6fb9b9a4
Parent:        e7ccca48f51ad98c3e0420fed25b742377890bac
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:16:46 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 6728335..f7fd269 100644
--- a/cman/daemon/commands.c
+++ b/cman/daemon/commands.c
@@ -1952,7 +1952,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:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-28 18:14 STABLE2 - 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).