]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
rbd-mirror: synchronize with in-flight stop in ImageReplayer::stop()
authorIlya Dryomov <idryomov@gmail.com>
Sun, 20 Feb 2022 16:33:08 +0000 (17:33 +0100)
committerDeepika Upadhyay <dupadhya@redhat.com>
Sat, 26 Feb 2022 19:13:51 +0000 (00:43 +0530)
commit27ea07d6ba56c5fbb95928229298d3b61c3bc244
treee13f47c4736675cdaf3ec94590e5adf1c22f6e3b
parent5053606a6061c4ae5c9a8d0acb0d1897f9c0b60d
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>
(cherry picked from commit 8965a0f2a6f7bdbe732be94b1ee269cab5be0a2a)
src/test/rbd_mirror/test_mock_ImageReplayer.cc
src/tools/rbd_mirror/ImageReplayer.cc