]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd: reacquire lock should properly handle failed watcher
authorJason Dillaman <dillaman@redhat.com>
Thu, 6 Sep 2018 17:38:17 +0000 (13:38 -0400)
committerJason Dillaman <dillaman@redhat.com>
Thu, 4 Oct 2018 11:58:02 +0000 (07:58 -0400)
commit71b73a9b7be45e3fb7702bd59cfe0b56d925b6ac
tree9674808098969f7623291febdddd573e706619a6
parent867b8a0670f77ef95dd38dbc99421118d79e7281
librbd: reacquire lock should properly handle failed watcher

If the watch has been lost, assume the lock has been lost but attempt
to reacquire it if and when the watch is re-established.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 2057d99f451e3007d4fd05a88faa968319d0ba90)

Conflicts:
src/librbd/ManagedLock.cc: trivial resolution
src/librbd/ImageWatcher.cc
src/librbd/ManagedLock.cc
src/librbd/ManagedLock.h
src/test/librbd/mock/MockExclusiveLock.h
src/test/librbd/test_mock_ManagedLock.cc
src/test/rbd_mirror/test_mock_LeaderWatcher.cc
src/tools/rbd_mirror/LeaderWatcher.cc