]> git.apps.os.sepia.ceph.com Git - ceph-ci.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, 20 Sep 2021 20:52:30 +0000 (22:52 +0200)
commitb02d3b0c5aa59aa294de43f94c793f5abf71ac03
treec53ceac96fb3c1e45e361637497ae1e0d9233bdc
parentf110ec33e5c5eef3fb6101780f84c046ccb6fc99
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>
src/tools/rbd_mirror/RemotePoolPoller.cc