41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
|
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;
|
||
|
|