]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd: directly inform IO work queue when locks are required
authorJason Dillaman <dillaman@redhat.com>
Thu, 22 Jun 2017 13:10:20 +0000 (09:10 -0400)
committerJason Dillaman <dillaman@redhat.com>
Tue, 27 Jun 2017 17:56:09 +0000 (13:56 -0400)
commit4a525671b3541a0a208dd039ac96f42bc8fca2cc
tree57e533c55f24e26e5f88641089a97611d132c7ac
parent9d8ae624858beb6fdc8ee2674b8e8d9b9cf14cbe
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.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/ExclusiveLock.cc
src/librbd/exclusive_lock/PreReleaseRequest.cc
src/librbd/image/RefreshRequest.cc
src/librbd/io/ImageRequestWQ.cc
src/librbd/io/ImageRequestWQ.h
src/librbd/io/Types.h
src/test/librbd/exclusive_lock/test_mock_PreReleaseRequest.cc
src/test/librbd/image/test_mock_RefreshRequest.cc
src/test/librbd/mock/io/MockImageRequestWQ.h
src/test/librbd/test_mock_ExclusiveLock.cc