]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd: Propagate EBLOCKLIST in send_acquire_lock
authorChristopher Hoffman <choffman@redhat.com>
Tue, 21 Mar 2023 16:15:04 +0000 (16:15 +0000)
committerChristopher Hoffman <choffman@redhat.com>
Thu, 6 Apr 2023 15:21:51 +0000 (15:21 +0000)
commitd3f730e720172806e16011eac971c0b61a0ff253
tree967cdcb446b847c9dc3a1eedaa518ffcd2478f94
parent8b88d76591e7a09b20f71968c37362772044a299
librbd: Propagate EBLOCKLIST in send_acquire_lock

During send_acquire_lock, there's a case where
there's no watcher handle present and lock request is delayed.
If the client is blocklisted, the delayed request will not
continue and the call that requested lock will never complete.

The lock process will now propagate -EBLOCKLIST, to callback
instead of indefinitely delaying.

Fixes: https://tracker.ceph.com/issues/59115
Signed-off-by: Christopher Hoffman <choffman@redhat.com>
(cherry picked from commit 6a0aeadc31ab1942c42c6e466183148f1d3752be)
src/librbd/ManagedLock.cc
src/test/librbd/test_mock_ManagedLock.cc