changeset: 9848:b7784ef1e32a parent: 9655:6e6980376f01 user: Andrew Beekhof 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;