]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
rbd-mirror: synchronize with in-flight stop in ImageReplayer::stop() 45106/head
authorIlya Dryomov <idryomov@gmail.com>
Sun, 20 Feb 2022 16:33:08 +0000 (17:33 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 21 Feb 2022 13:57:44 +0000 (14:57 +0100)
commit8965a0f2a6f7bdbe732be94b1ee269cab5be0a2a
treedf257a44f666292d3d0b655675cdcb0130ea7e3c
parent4ad31cd0583ebb695a9d84a35b9fc20ad9ec8585
rbd-mirror: synchronize with in-flight stop in ImageReplayer::stop()

Complete on_finish right away only if the replayer is stopped (meaning
that it is legible to be restarted immediately, possibly from on_finish
itself).  This is the behaviour pretty much anyone would assume and
also what ImageReplayer::restart() relies on.

Fixes: https://tracker.ceph.com/issues/54344
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
src/test/rbd_mirror/test_mock_ImageReplayer.cc
src/tools/rbd_mirror/ImageReplayer.cc