mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-27 01:11:31 +00:00
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> |
||
|---|---|---|
| .. | ||
| ast.c | ||
| ast.h | ||
| config.c | ||
| config.h | ||
| debug_fs.c | ||
| dir.c | ||
| dir.h | ||
| dlm_internal.h | ||
| Kconfig | ||
| lock.c | ||
| lock.h | ||
| lockspace.c | ||
| lockspace.h | ||
| lowcomms.c | ||
| lowcomms.h | ||
| lvb_table.h | ||
| main.c | ||
| Makefile | ||
| member.c | ||
| member.h | ||
| memory.c | ||
| memory.h | ||
| midcomms.c | ||
| midcomms.h | ||
| netlink.c | ||
| plock.c | ||
| rcom.c | ||
| rcom.h | ||
| recover.c | ||
| recover.h | ||
| recoverd.c | ||
| recoverd.h | ||
| requestqueue.c | ||
| requestqueue.h | ||
| user.c | ||
| user.h | ||
| util.c | ||
| util.h | ||