fs: dlm: avoid comms shutdown delay in release_lockspace
When dlm_release_lockspace does active shutdown on connections to other nodes, the active shutdown will wait for any exisitng passive shutdowns to be resolved. But, the sequence of operations during dlm_release_lockspace can prevent the normal resolution of passive shutdowns (processed normally by way of lockspace recovery.) This disruption of passive shutdown handling can cause the active shutdown to wait for a full timeout period, delaying the completion of dlm_release_lockspace. To fix this, make dlm_release_lockspace resolve existing passive shutdowns (by calling dlm_clear_members earlier), before it does active shutdowns. The active shutdowns will not find any passive shutdowns to wait for, and will not be delayed. Reported-by: Chris Mackowski <cmackows@redhat.com> Signed-off-by: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com>
This commit is contained in:
parent
aee742c992
commit
ecd9567314
|
@ -793,6 +793,7 @@ static int release_lockspace(struct dlm_ls *ls, int force)
|
|||
|
||||
if (ls_count == 1) {
|
||||
dlm_scand_stop();
|
||||
dlm_clear_members(ls);
|
||||
dlm_midcomms_shutdown();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue