public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
* Cluster Project branch, RHEL47, updated. gfs-kernel_2_6_9_76-46-g5eec9c0
@ 2008-04-17 20:00 lhh
  0 siblings, 0 replies; only message in thread
From: lhh @ 2008-04-17 20:00 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=5eec9c0832cd1c91d00d2f3e4bd42389a5cbc7bb

The branch, RHEL47 has been updated
       via  5eec9c0832cd1c91d00d2f3e4bd42389a5cbc7bb (commit)
      from  4f903f24b945f53708b0607d186e2fa6b06cd1bf (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 5eec9c0832cd1c91d00d2f3e4bd42389a5cbc7bb
Author: Lon Hohberger <lhh@redhat.com>
Date:   Tue Mar 11 10:43:37 2008 -0400

    [CMAN] Fix "Node X is undead" loop bug
    
    This was caused by an improper assignment to ps_incarnation
    after a node decides to evict another node.  The fix
    is to simply make the internal (memory) assignments before
    calling qd_write_status()

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

Summary of changes:
 cman/qdisk/main.c |   34 +++++++++++++++++-----------------
 1 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/cman/qdisk/main.c b/cman/qdisk/main.c
index 8e63c88..a29a5d0 100644
--- a/cman/qdisk/main.c
+++ b/cman/qdisk/main.c
@@ -253,23 +253,6 @@ check_transitions(qd_ctx *ctx, node_info_t *ni, int max, memb_mask_t mask)
 		     state_run(ni[x].ni_status.ps_state)) {
 
 			/*
-			   Write eviction notice if we're the master.
-			 */
-			if (ctx->qc_status == S_MASTER) {
-				clulog(LOG_NOTICE,
-				       "Writing eviction notice for node %d\n",
-				       ni[x].ni_status.ps_nodeid);
-				qd_write_status(ctx, ni[x].ni_status.ps_nodeid,
-						S_EVICT, NULL, NULL, NULL);
-				if (ctx->qc_flags & RF_ALLOW_KILL) {
-					clulog(LOG_DEBUG, "Telling CMAN to "
-						"kill the node\n");
-					cman_kill_node(ctx->qc_ch,
-						ni[x].ni_status.ps_nodeid);
-				}
-			}
-
-			/*
 			   Mark our internal views as dead if nodes miss too
 			   many heartbeats...  This will cause a master
 			   transition if no live master exists.
@@ -286,6 +269,23 @@ check_transitions(qd_ctx *ctx, node_info_t *ni, int max, memb_mask_t mask)
 			ni[x].ni_evil_incarnation = 
 				ni[x].ni_status.ps_incarnation;
 			
+			/*
+			   Write eviction notice if we're the master.
+			 */
+			if (ctx->qc_status == S_MASTER) {
+				clulog(LOG_NOTICE,
+				       "Writing eviction notice for node %d\n",
+				       ni[x].ni_status.ps_nodeid);
+				qd_write_status(ctx, ni[x].ni_status.ps_nodeid,
+						S_EVICT, NULL, NULL, NULL);
+				if (ctx->qc_flags & RF_ALLOW_KILL) {
+					clulog(LOG_DEBUG, "Telling CMAN to "
+						"kill the node\n");
+					cman_kill_node(ctx->qc_ch,
+						ni[x].ni_status.ps_nodeid);
+				}
+			}
+
 			/* Clear our master mask for the node after eviction */
 			if (mask)
 				clear_bit(mask, (ni[x].ni_status.ps_nodeid-1),


hooks/post-receive
--
Cluster Project


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

only message in thread, other threads:[~2008-04-17 20:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-17 20:00 Cluster Project branch, RHEL47, updated. gfs-kernel_2_6_9_76-46-g5eec9c0 lhh

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