]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd_mirror: don't report error if image replay canceled 26140/head
authorMykola Golub <mgolub@suse.com>
Fri, 4 Jan 2019 13:20:58 +0000 (13:20 +0000)
committerAshish Singh <assingh@redhat.com>
Fri, 25 Jan 2019 09:21:39 +0000 (14:51 +0530)
Fixes: https://tracker.ceph.com/issues/36038
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 552b7469ded82c4269c8a0e230e8a1f6e6285c6d)

src/tools/rbd_mirror/ImageReplayer.cc

index 19994a5109a0733f6287f05490de6dfee60a7ef4..0fbbb47fce24e7466df620dc6c3caf30fdc4c1de 100644 (file)
@@ -523,7 +523,9 @@ void ImageReplayer<I>::handle_bootstrap(int r) {
     }
   }
 
-  if (r == -EREMOTEIO) {
+  if (on_start_interrupted()) {
+    return;
+  } else if (r == -EREMOTEIO) {
     m_local_image_tag_owner = "";
     dout(5) << "remote image is non-primary" << dendl;
     on_start_fail(-EREMOTEIO, "remote image is non-primary");
@@ -535,8 +537,6 @@ void ImageReplayer<I>::handle_bootstrap(int r) {
   } else if (r < 0) {
     on_start_fail(r, "error bootstrapping replay");
     return;
-  } else if (on_start_interrupted()) {
-    return;
   } else if (m_resync_requested) {
     on_start_fail(0, "resync requested");
     return;
@@ -573,12 +573,12 @@ template <typename I>
 void ImageReplayer<I>::handle_init_remote_journaler(int r) {
   dout(10) << "r=" << r << dendl;
 
-  if (r < 0) {
+  if (on_start_interrupted()) {
+    return;
+  } else if (r < 0) {
     derr << "failed to initialize remote journal: " << cpp_strerror(r) << dendl;
     on_start_fail(r, "error initializing remote journal");
     return;
-  } else if (on_start_interrupted()) {
-    return;
   }
 
   m_remote_journaler->add_listener(&m_remote_listener);