]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rbd-mirror: unbreak one-way snapshot-based mirroring
authorIlya Dryomov <idryomov@gmail.com>
Mon, 20 Sep 2021 19:52:57 +0000 (21:52 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 27 Sep 2021 09:54:51 +0000 (11:54 +0200)
commitdea61e59b62eca5deb0ad74398533eb499f2d5b4
tree240ac289772bb2b657a5cce5825a34d681ff5f76
parente7680eae4164a9918e20abb4d948a68e5b787892
rbd-mirror: unbreak one-way snapshot-based mirroring

Snapshot replayer needs the remote's mirror peer uuid to find its
snapshots in the remote image.  It is obtained by listing remote's
mirror peers but RemotePoolPoller::handle_mirror_peer_list() skips
tx-only (MIRROR_PEER_DIRECTION_TX) peers.  In effect only rx-tx
(MIRROR_PEER_DIRECTION_RX_TX) peers are considered for matching
and snapshot replayer always fails with "failed to retrieve mirror
peer uuid from remote pool" error.

Instead, skip rx-only (MIRROR_PEER_DIRECTION_RX) peers as we are
definitely not interested in anything having to do with mirroring
_to_ the remote cluster.

Fixes: https://tracker.ceph.com/issues/52675
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit b02d3b0c5aa59aa294de43f94c793f5abf71ac03)
src/tools/rbd_mirror/RemotePoolPoller.cc