]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
librbd: localize snap_remove op for mirror snapshots
authorChristopher Hoffman <choffman@redhat.com>
Wed, 19 Apr 2023 15:26:27 +0000 (15:26 +0000)
committerChristopher Hoffman <choffman@redhat.com>
Mon, 8 May 2023 14:33:49 +0000 (14:33 +0000)
commitac552c9b4d65198db8038d397a3060d5a030917d
tree7a1040a6caff48a6c3e393e1c7b13c3fae3a2d2a
parent3bc21774f4108988fe4c473c0be15e0f6994ad53
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>
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