]> git-server-git.apps.pok.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)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 23 Feb 2022 13:26:20 +0000 (14:26 +0100)
commit9d7341a046f03f89d581cb3194d3a234c8c00074
tree658cbed9c118fcacc5510fede7f9e80da35c9098
parentd837768622ab3cdc9281400e3ee4b0230f8f672a
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