| --- a/lib/cluster/legacy.c 2012-11-08 11:55:09.297354491 +0100 |
| +++ b/lib/cluster/legacy.c 2012-11-08 11:54:57.507587115 +0100 |
| @@ -1362,17 +1362,27 @@ |
| /* If we can still talk to our peer process on that node, |
| * then its also part of the corosync membership |
| */ |
| - crm_trace("%s: processes=%.16x", node->uname, node->processes); |
| + crm_trace("%s: processes=%.8x", node->uname, node->processes); |
| return TRUE; |
| |
| - } else if(is_classic_ais_cluster() && (node->processes & crm_proc_plugin) == 0) { |
| - crm_trace("%s: processes=%.16x", node->uname, node->processes); |
| - return FALSE; |
| + } else if(is_classic_ais_cluster()) { |
| + if(node->processes < crm_proc_none) { |
| + crm_debug("%s: unknown process list, assuming active for now", node->uname); |
| + return TRUE; |
| + |
| + } else if(is_set(node->processes, crm_proc_none)) { |
| + crm_debug("%s: all processes are inactive", node->uname); |
| + return FALSE; |
| + |
| + } else if(is_not_set(node->processes, crm_proc_plugin)) { |
| + crm_trace("%s: processes=%.8x", node->uname, node->processes); |
| + return FALSE; |
| + } |
| } |
| |
| proc = text2proc(crm_system_name); |
| - if(proc != crm_proc_none && (node->processes & proc) == 0) { |
| - crm_trace("%s: proc %.16x not in %.16x", node->uname, proc, node->processes); |
| + if(proc > crm_proc_none && (node->processes & proc) == 0) { |
| + crm_trace("%s: proc %.8x not in %.8x", node->uname, proc, node->processes); |
| return FALSE; |
| } |
| |