Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 0124e8e

Browse files
committed
Maintain clique during major mode, but do not perform any actions based on that (like self-disabling)
1 parent 5e1d416 commit 0124e8e

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

state.c

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,7 @@ void MtmOnNodeDisconnect(int nodeId)
324324
// MtmRefreshClusterStatus();
325325
}
326326

327+
// XXXX: make that event too
327328
void 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);

0 commit comments

Comments
 (0)