File tree 1 file changed +4
-3
lines changed
1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -102,14 +102,15 @@ MtmCheckState(void)
102
102
// XXXX: should we restrict major with two nodes setup?
103
103
|| (nConnected == Mtm -> nAllNodes /2 && MtmMajorNode ) /* or half + major node */
104
104
|| (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 */
106
106
&& !BIT_CHECK (Mtm -> stoppedNodeMask , MtmNodeId - 1 ); /* is not stopped */
107
107
108
108
/* ANY -> MTM_DISABLED */
109
109
if (!isEnabledState )
110
110
{
111
- BIT_SET (Mtm -> disabledNodeMask , MtmNodeId - 1 );
111
+ // BIT_SET(Mtm->disabledNodeMask, MtmNodeId-1);
112
112
MtmSetClusterStatus (MTM_DISABLED );
113
+ MtmDisableNode (MtmNodeId );
113
114
return ;
114
115
}
115
116
@@ -311,9 +312,9 @@ void MtmOnNodeDisconnect(int nodeId)
311
312
* We should disable it, as clique detector will not necessarily
312
313
* do that. For example it will anyway find clique with one node.
313
314
*/
314
- MtmDisableNode (nodeId );
315
315
316
316
MtmLock (LW_EXCLUSIVE );
317
+ MtmDisableNode (nodeId );
317
318
BIT_SET (SELF_CONNECTIVITY_MASK , nodeId - 1 );
318
319
BIT_SET (Mtm -> reconnectMask , nodeId - 1 );
319
320
Mtm -> nConfigChanges += 1 ;
You can’t perform that action at this time.
0 commit comments