]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: prevent new wrlocks on LocalLock if there exists any xlock waiter
authorPatrick Donnelly <pdonnell@redhat.com>
Tue, 5 Mar 2024 17:19:42 +0000 (12:19 -0500)
committerPatrick Donnelly <pdonnell@redhat.com>
Fri, 22 Mar 2024 15:38:03 +0000 (11:38 -0400)
commite9fa13485ebf7dfdd98260deed3d6ec8d5e35213
treed092d22eea3588d234d9f3fe25fde21857f94fcf
parent780f244382b155dd6d6b38de5d04bb38e9bc30b1
mds: prevent new wrlocks on LocalLock if there exists any xlock waiter

Otherwise, an xlock waiter can become starved as a LocalLock supports multiple
writers.

Strictly speaking, a new lock state would be appropriate for this but we cheat
frequently with the LocalLock -- there is only one state. All transition checks
are already manually performed by the Locker.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit bddd3c72014dc7aa4bb4f16e4633111a0f2e0bb0)
src/mds/LocalLockC.h