]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd: managed_lock::BreakRequest needs a reference to AsioEngine
authorJason Dillaman <dillaman@redhat.com>
Tue, 14 Jul 2020 21:38:56 +0000 (17:38 -0400)
committerJason Dillaman <dillaman@redhat.com>
Thu, 16 Jul 2020 20:02:55 +0000 (16:02 -0400)
commitc87c669a7802c1d97409cd6c96d3d3b27c2e1330
tree6add24d0c688263f5fe100fe70473984d01726ba
parent50694f790245ca90a3b8a644da7b128a7a148cc6
librbd: managed_lock::BreakRequest needs a reference to AsioEngine

The current usage of the asio::ContextWQ to similate an asynchronous blocklist
API call is resulting in deadlock in the rbd-mirror HA tests when multiple
blocklists are occurring concurrently. The next commit will switch to use the
neorados async MON command API (since librados doesn't offer one).

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
24 files changed:
src/librbd/ExclusiveLock.cc
src/librbd/ManagedLock.cc
src/librbd/ManagedLock.h
src/librbd/managed_lock/AcquireRequest.cc
src/librbd/managed_lock/AcquireRequest.h
src/librbd/managed_lock/BreakRequest.cc
src/librbd/managed_lock/BreakRequest.h
src/test/librbd/managed_lock/test_mock_AcquireRequest.cc
src/test/librbd/managed_lock/test_mock_BreakRequest.cc
src/test/librbd/test_mock_ExclusiveLock.cc
src/test/librbd/test_mock_ManagedLock.cc
src/test/rbd_mirror/test_ImageReplayer.cc
src/test/rbd_mirror/test_ImageSync.cc
src/test/rbd_mirror/test_InstanceWatcher.cc
src/test/rbd_mirror/test_mock_InstanceWatcher.cc
src/test/rbd_mirror/test_mock_LeaderWatcher.cc
src/test/rbd_mirror/test_mock_NamespaceReplayer.cc
src/tools/rbd_mirror/InstanceWatcher.cc
src/tools/rbd_mirror/InstanceWatcher.h
src/tools/rbd_mirror/Instances.cc
src/tools/rbd_mirror/LeaderWatcher.cc
src/tools/rbd_mirror/LeaderWatcher.h
src/tools/rbd_mirror/NamespaceReplayer.cc
src/tools/rbd_mirror/Threads.h