File tree Expand file tree Collapse file tree 1 file changed +13
-6
lines changed Expand file tree Collapse file tree 1 file changed +13
-6
lines changed Original file line number Diff line number Diff line change @@ -324,6 +324,7 @@ void MtmOnNodeDisconnect(int nodeId)
324324 // MtmRefreshClusterStatus();
325325}
326326
327+ // XXXX: make that event too
327328void MtmOnNodeConnect (int nodeId )
328329{
329330 // if (!BIT_CHECK(SELF_CONNECTIVITY_MASK, nodeId-1))
@@ -451,12 +452,6 @@ MtmRefreshClusterStatus()
451452 }
452453 }
453454
454- /*
455- * Do not check clique with referee grant, because we can disable ourself.
456- */
457- if (Mtm -> refereeGrant )
458- return ;
459-
460455 /*
461456 * Check for clique.
462457 */
@@ -500,6 +495,18 @@ MtmRefreshClusterStatus()
500495
501496 Mtm -> clique = newClique ;
502497
498+ /*
499+ * Do not perform any action based on clique with referee grant,
500+ * because we can disable ourself.
501+ * But we also need to maintain actual clique not disable ourselves
502+ * when neighbour node will come back and we erase refereeGrant.
503+ */
504+ if (Mtm -> refereeGrant )
505+ {
506+ MtmUnlock ();
507+ return ;
508+ }
509+
503510 for (i = 0 ; i < Mtm -> nAllNodes ; i ++ )
504511 {
505512 bool old_status = BIT_CHECK (Mtm -> disabledNodeMask , i );
You can’t perform that action at this time.
0 commit comments