Blob Blame History Raw
changeset:   9848:b7784ef1e32a
parent:      9655:6e6980376f01
user:        Andrew Beekhof <andrew@beekhof.net>
date:        Mon May 17 17:48:59 2010 +0200
files:       crmd/callbacks.c lib/common/membership.c
description:
High: Core: Bug lf#2401 - Backed out changeset 6e6980376f01
The original check was correct, as "member" in this context is only
supposed to refer to comms-level membership.
Additionally, the more agressive check borked the dlm and didn't
actually resolve Bug lf#2401


diff -r 6e6980376f01 -r b7784ef1e32a crmd/callbacks.c
--- a/crmd/callbacks.c	Tue Apr 20 10:20:15 2010 +0200
+++ b/crmd/callbacks.c	Mon May 17 17:48:59 2010 +0200
@@ -394,7 +394,7 @@ crmd_client_status_callback(const char *
 		return;
 	}
 	
-	if(safe_str_eq(node, fsa_our_dc) && crm_is_member_active(member) == FALSE) {
+	if(safe_str_eq(node, fsa_our_dc) && safe_str_eq(status, OFFLINESTATUS)){
 		/* did our DC leave us */
 		crm_info("Got client status callback - our DC is dead");
 		register_fsa_input(C_CRMD_STATUS_CALLBACK, I_ELECTION, NULL);
diff -r 6e6980376f01 -r b7784ef1e32a lib/common/membership.c
--- a/lib/common/membership.c	Tue Apr 20 10:20:15 2010 +0200
+++ b/lib/common/membership.c	Mon May 17 17:48:59 2010 +0200
@@ -39,9 +39,7 @@ gboolean crm_have_quorum = FALSE;
 
 gboolean crm_is_member_active(const crm_node_t *node) 
 {
-    if(node
-       && safe_str_eq(node->state, CRM_NODE_MEMBER)
-       && (node->processes & crm_proc_crmd)) {
+    if(node && safe_str_eq(node->state, CRM_NODE_MEMBER)) {
 	return TRUE;
     }
     return FALSE;