fs: dlm: ls_count busy wait to event based wait
authorAlexander Aring <aahringo@redhat.com>
Tue, 2 Nov 2021 19:17:18 +0000 (15:17 -0400)
committerDavid Teigland <teigland@redhat.com>
Tue, 2 Nov 2021 19:39:20 +0000 (14:39 -0500)
commit3cb5977c5214c219b2859f926ed547480d53fdde
treef321ca0c0e1f397073f194180f7e8043cea747aa
parent164d88abd7608e869b7617d5ff8893344fdda759
fs: dlm: ls_count busy wait to event based wait

This patch changes the ls_count busy wait to use atomic counter values
and wait_event() to wait until ls_count reach zero. It will slightly
reduce the number of holding lslist_lock. At remove lockspace we need to
retry the wait because it a lockspace get could interefere between
wait_event() and holding the lock which deletes the lockspace list entry.

Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
fs/dlm/dlm_internal.h
fs/dlm/lockspace.c
fs/dlm/requestqueue.c