From: Mykola Golub Date: Mon, 30 May 2016 13:24:24 +0000 (+0300) Subject: rbd-mirror: return ECANCELED when ImageReplayer start is canceled X-Git-Tag: v11.0.0~260^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f581dbcb2eca108ce9440629b8f00f3229c07b95;p=ceph.git rbd-mirror: return ECANCELED when ImageReplayer start is canceled Signed-off-by: Mykola Golub --- diff --git a/src/test/rbd_mirror/test_ImageReplayer.cc b/src/test/rbd_mirror/test_ImageReplayer.cc index 58ed3654920d..6aec1dd016d8 100644 --- a/src/test/rbd_mirror/test_ImageReplayer.cc +++ b/src/test/rbd_mirror/test_ImageReplayer.cc @@ -395,8 +395,8 @@ TEST_F(TestImageReplayer, StartInterrupted) m_replayer->stop(&stop_cond); int r = start_cond.wait(); printf("start returned %d\n", r); - // TODO: improve the test to avoid this race // TODO: improve the test to avoid this race - ASSERT_TRUE(r == -EINTR || r == 0); + // TODO: improve the test to avoid this race + ASSERT_TRUE(r == -ECANCELED || r == 0); ASSERT_EQ(0, stop_cond.wait()); } diff --git a/src/tools/rbd_mirror/ImageReplayer.cc b/src/tools/rbd_mirror/ImageReplayer.cc index defe79949306..743eb4a7d181 100644 --- a/src/tools/rbd_mirror/ImageReplayer.cc +++ b/src/tools/rbd_mirror/ImageReplayer.cc @@ -512,10 +512,10 @@ void ImageReplayer::on_start_fail(int r, const std::string &desc) { Mutex::Locker locker(m_lock); m_state = STATE_STOPPING; - if (r < 0 && r != -EINTR) { + if (r < 0 && r != -ECANCELED) { derr << "start failed: " << cpp_strerror(r) << dendl; } else { - dout(20) << "start interrupted" << dendl; + dout(20) << "start canceled" << dendl; } std::swap(m_on_start_finish, on_start_finish); } @@ -536,7 +536,7 @@ bool ImageReplayer::on_start_interrupted() return false; } - on_start_fail(-EINTR); + on_start_fail(-ECANCELED); return true; }