]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd: reorder exclusive-lock pre-release state steps
authorJason Dillaman <dillaman@redhat.com>
Thu, 17 Sep 2020 20:22:20 +0000 (16:22 -0400)
committerJason Dillaman <dillaman@redhat.com>
Fri, 18 Sep 2020 03:52:31 +0000 (23:52 -0400)
commita320a2b82174904bcc0ac45c0e95f21e2f237271
tree7489133eac01675f4241f9c3d5bd35ce09ca1a37
parent75929c411821b9ed632003369c6088e3bd37f53f
librbd: reorder exclusive-lock pre-release state steps

The exclusive-lock dispatch layer should be locked and flushed to
ensure no IO is waiting for a refresh. Once that is complete, interlock
with the refresh state machine and re-flush one last time w/ the
refresh dispatch layer skipped.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/exclusive_lock/PreReleaseRequest.cc
src/librbd/exclusive_lock/PreReleaseRequest.h
src/test/librbd/exclusive_lock/test_mock_PreReleaseRequest.cc