]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd: localize snap_remove op for mirror snapshots 51431/head
authorChristopher Hoffman <choffman@redhat.com>
Wed, 19 Apr 2023 15:26:27 +0000 (15:26 +0000)
committerChristopher Hoffman <choffman@redhat.com>
Thu, 15 Jun 2023 20:15:14 +0000 (20:15 +0000)
commit3885255ea0ccc56a6c55bcef26729301fd6f787b
treea61f9a846146acdd8db105fd478d319406e3201b
parentbeb9ebe6da6105d87c12558bd1d2b9b456cf9baa
librbd: localize snap_remove op for mirror snapshots

A client may attempt a lock request not quickly enough to
obtain exclusive lock for operations when another competing
client responds quicker. This can happen when a peer site has
different performance characteristics or latency. Instead of
relying on this unpredictable behavior, localize operation to
primary cluster.

Fixes: https://tracker.ceph.com/issues/59393
Signed-off-by: Christopher Hoffman <choffman@redhat.com>
(cherry picked from commit ac552c9b4d65198db8038d397a3060d5a030917d)

Conflicts:
src/cls/rbd/cls_rbd.cc [ commit 3a93b40 ("librbd:
  s/boost::variant/std::variant/") not in pacific ]
src/librbd/mirror/snapshot/UnlinkPeerRequest.cc [ ditto ]
src/cls/rbd/cls_rbd.cc
src/librbd/api/Mirror.cc
src/librbd/mirror/snapshot/CreatePrimaryRequest.cc
src/librbd/mirror/snapshot/UnlinkPeerRequest.cc
src/librbd/mirror/snapshot/UnlinkPeerRequest.h
src/test/cls_rbd/test_cls_rbd.cc
src/test/librbd/mirror/snapshot/test_mock_CreatePrimaryRequest.cc
src/test/librbd/mirror/snapshot/test_mock_UnlinkPeerRequest.cc
src/test/librbd/test_mirroring.cc
src/test/rbd_mirror/image_replayer/snapshot/test_mock_Replayer.cc
src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc