fs: dlm: avoid comms shutdown delay in release_lockspace
authorAlexander Aring <aahringo@redhat.com>
Thu, 26 Aug 2021 14:06:31 +0000 (10:06 -0400)
committerDavid Teigland <teigland@redhat.com>
Wed, 1 Sep 2021 16:29:14 +0000 (11:29 -0500)
commitecd95673142ef80169a6c003b569b8a86d1e6329
tree7d63429471f10de2f6fda3186c70bb59c6d9662f
parentaee742c9928ab4f5f4e0b00f41fb2d2cffae179e
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>
fs/dlm/lockspace.c