File tree Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -102,14 +102,15 @@ MtmCheckState(void)
102102 // XXXX: should we restrict major with two nodes setup?
103103 || (nConnected == Mtm -> nAllNodes /2 && MtmMajorNode ) /* or half + major node */
104104 || (nConnected == Mtm -> nAllNodes /2 && Mtm -> refereeGrant ) ) /* or half + referee */
105- && BIT_CHECK (Mtm -> clique , MtmNodeId - 1 ) /* in clique */
105+ && ( BIT_CHECK (Mtm -> clique , MtmNodeId - 1 ) || Mtm -> refereeGrant ) /* in clique when non-major */
106106 && !BIT_CHECK (Mtm -> stoppedNodeMask , MtmNodeId - 1 ); /* is not stopped */
107107
108108 /* ANY -> MTM_DISABLED */
109109 if (!isEnabledState )
110110 {
111- BIT_SET (Mtm -> disabledNodeMask , MtmNodeId - 1 );
111+ // BIT_SET(Mtm->disabledNodeMask, MtmNodeId-1);
112112 MtmSetClusterStatus (MTM_DISABLED );
113+ MtmDisableNode (MtmNodeId );
113114 return ;
114115 }
115116
@@ -311,9 +312,9 @@ void MtmOnNodeDisconnect(int nodeId)
311312 * We should disable it, as clique detector will not necessarily
312313 * do that. For example it will anyway find clique with one node.
313314 */
314- MtmDisableNode (nodeId );
315315
316316 MtmLock (LW_EXCLUSIVE );
317+ MtmDisableNode (nodeId );
317318 BIT_SET (SELF_CONNECTIVITY_MASK , nodeId - 1 );
318319 BIT_SET (Mtm -> reconnectMask , nodeId - 1 );
319320 Mtm -> nConfigChanges += 1 ;
You can’t perform that action at this time.
0 commit comments