public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
* Cluster Project branch, STABLE2, updated. cluster-2.03.00-5-g529c79e
@ 2008-04-14 13:03 ccaulfield
  0 siblings, 0 replies; only message in thread
From: ccaulfield @ 2008-04-14 13:03 UTC (permalink / raw)
  To: cluster-cvs, cluster-devel

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cluster Project".

http://sources.redhat.com/git/gitweb.cgi?p=cluster.git;a=commitdiff;h=529c79ee350e06e14075dd2006b34920bacdb4bb

The branch, STABLE2 has been updated
       via  529c79ee350e06e14075dd2006b34920bacdb4bb (commit)
      from  9e0e6f562c29cf284183c4ec8958ef0e33f6b4b0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 529c79ee350e06e14075dd2006b34920bacdb4bb
Author: Christine Caulfield <ccaulfie@redhat.com>
Date:   Mon Apr 14 14:01:13 2008 +0100

    [CMAN] Save the new expected_votes when a node is removed
    
    When a node leaves the cluster using 'cman_tool leave remove' it reduces
    the quorum of the cluster to accomodate the loss of the node. Unfortunately
    the following transition messages raise quorum back to its original value
    again because of the bug fix for bz#308581, so it appears that the
    remove hasn't worked.
    
    Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>

-----------------------------------------------------------------------

Summary of changes:
 cman/daemon/commands.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/cman/daemon/commands.c b/cman/daemon/commands.c
index b6d796a..c96fe52 100644
--- a/cman/daemon/commands.c
+++ b/cman/daemon/commands.c
@@ -289,8 +289,10 @@ static int calculate_quorum(int allow_decrease, int max_expected, unsigned int *
 		node = list_item(nodelist, struct cluster_node);
 
 		if (node->state == NODESTATE_MEMBER) {
-			highest_expected =
-				max(highest_expected, node->expected_votes);
+			if (max_expected)
+				node->expected_votes = max_expected;
+			else
+				highest_expected = max(highest_expected, node->expected_votes);
 			total_votes += node->votes;
 			total_nodes++;
 		}
@@ -2009,7 +2011,8 @@ void del_ais_node(int nodeid)
 		node->state = NODESTATE_DEAD;
 		cluster_members--;
 
-		if ((node->leave_reason & 0xF) & CLUSTER_LEAVEFLAG_REMOVED)
+		P_MEMB("del_ais_node %s, leave_reason=%x\n", node->name, node->leave_reason);
+		if ((node->leave_reason & 0xF) == CLUSTER_LEAVEFLAG_REMOVED)
 			recalculate_quorum(1, 1);
 		else
 			recalculate_quorum(0, 0);


hooks/post-receive
--
Cluster Project


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

only message in thread, other threads:[~2008-04-14 13:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-14 13:03 Cluster Project branch, STABLE2, updated. cluster-2.03.00-5-g529c79e ccaulfield

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).