]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
rbd-mirror: replace journal-specific parent image validation
authorJason Dillaman <dillaman@redhat.com>
Wed, 29 Jan 2020 19:42:14 +0000 (14:42 -0500)
committerJason Dillaman <dillaman@redhat.com>
Thu, 30 Jan 2020 15:26:36 +0000 (10:26 -0500)
commitc0fdb2ca0f36d18aa5a42299d6aeec1744264bcb
tree50b47445e77ca456ff624ae89f570bd76621bab0
parentf2d9d167c21ccfeb9229bd7b4727b82d863e2c7a
rbd-mirror: replace journal-specific parent image validation

When cloning a mirrored image, instead of looking at the parent
image's journal state to tell if its still being synced, we can
instead verify that it doesn't have an rbd-mirror image sync
snapshots.

If it doesn't, the image isn't being actively synced, but it
might not have started either. However, the clone state machine
will open the local parent image and attempt to find the specified
snapshot. If it exists, the image sync is complete.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
13 files changed:
src/test/rbd_mirror/image_replayer/journal/test_mock_CreateLocalImageRequest.cc
src/test/rbd_mirror/image_replayer/test_mock_BootstrapRequest.cc
src/test/rbd_mirror/image_replayer/test_mock_CreateImageRequest.cc
src/tools/rbd_mirror/image_replayer/BootstrapRequest.cc
src/tools/rbd_mirror/image_replayer/CreateImageRequest.cc
src/tools/rbd_mirror/image_replayer/CreateImageRequest.h
src/tools/rbd_mirror/image_replayer/StateBuilder.h
src/tools/rbd_mirror/image_replayer/journal/CreateLocalImageRequest.cc
src/tools/rbd_mirror/image_replayer/journal/CreateLocalImageRequest.h
src/tools/rbd_mirror/image_replayer/journal/StateBuilder.cc
src/tools/rbd_mirror/image_replayer/journal/StateBuilder.h
src/tools/rbd_mirror/image_replayer/snapshot/StateBuilder.cc
src/tools/rbd_mirror/image_replayer/snapshot/StateBuilder.h