Cluster Project branch, RHEL52, updated. cmirror_1_1_15-20-g4f5e3c5

ccaulfield@sourceware.org ccaulfield@sourceware.org
Mon Apr 14 16:29:00 GMT 2008


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=4f5e3c542d1e08f3acfd61882437ec839e3658b0

The branch, RHEL52 has been updated
       via  4f5e3c542d1e08f3acfd61882437ec839e3658b0 (commit)
      from  c53ff8ef75c67fb53955905db96c9f96c28da7bf (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 4f5e3c542d1e08f3acfd61882437ec839e3658b0
Author: Christine Caulfield <ccaulfie@redhat.com>
Date:   Mon Apr 14 17:28:33 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 |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/cman/daemon/commands.c b/cman/daemon/commands.c
index eb96fcd..d7076cd 100644
--- a/cman/daemon/commands.c
+++ b/cman/daemon/commands.c
@@ -288,8 +288,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,7 @@ void del_ais_node(int nodeid)
 		memset(&node->port_bits, 0, sizeof(node->port_bits));
 		cluster_members--;
 
-		if ((node->leave_reason & 0xF) & CLUSTER_LEAVEFLAG_REMOVED) 
+		if ((node->leave_reason & 0xF) == CLUSTER_LEAVEFLAG_REMOVED) 
 			recalculate_quorum(1, 1);
 		else 
 			recalculate_quorum(0, 0);


hooks/post-receive
--
Cluster Project



More information about the Cluster-cvs mailing list