]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd: directly inform IO work queue when locks are required
authorJason Dillaman <dillaman@redhat.com>
Thu, 31 Aug 2017 02:08:15 +0000 (22:08 -0400)
committerJason Dillaman <dillaman@redhat.com>
Thu, 31 Aug 2017 14:00:32 +0000 (10:00 -0400)
commit8fb8eb61dd8b2e44cb10da9b28fa334267784e2f
tree0661e106f72139c22f48816b9aae78a9c9526c7b
parent4509765fee20aab082dfbb2ba02cf76f796d6292
librbd: directly inform IO work queue when locks are required

Due to lock dependency issues between librbd locks and the the thread
pool lock, it's impossible to directly determine if the lock is
required within the _void_dequeue method. Therefore, this state needs
to be internally tracked by the work queue.

(derived from commit 4a525671b3541a0a208dd039ac96f42bc8fca2cc)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/AioImageRequestWQ.cc
src/librbd/AioImageRequestWQ.h
src/librbd/ExclusiveLock.cc
src/librbd/exclusive_lock/ReleaseRequest.cc
src/librbd/image/RefreshRequest.cc
src/test/librbd/exclusive_lock/test_mock_ReleaseRequest.cc
src/test/librbd/image/test_mock_RefreshRequest.cc
src/test/librbd/mock/MockAioImageRequestWQ.h
src/test/librbd/test_mock_ExclusiveLock.cc