]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd: rbd-mirroring: Fixed if clause in mirror_image_get_info
authorRicardo Dias <rdias@suse.com>
Fri, 18 Mar 2016 10:36:46 +0000 (10:36 +0000)
committerRicardo Dias <rdias@suse.com>
Fri, 18 Mar 2016 10:45:13 +0000 (10:45 +0000)
This fix targets the case when journaling is not enabled but
someone calls mirror_image_get_info.

Signed-off-by: Ricardo Dias <rdias@suse.com>
src/librbd/internal.cc

index bfed621e7487ff5aecdc8c778d6354e0dcda0bab..73ebb0a24c1c6c095cdd2ed4688a61bb4bae59fb 100644 (file)
@@ -2718,11 +2718,15 @@ int validate_mirroring_enabled(ImageCtx *ictx) {
         static_cast<rbd_mirror_image_state_t>(mirror_image_internal.state);
     }
 
-    r = Journal<>::is_tag_owner(ictx, &mirror_image_info->primary);
-    if (r < 0) {
-      lderr(cct) << "failed to check tag ownership: "
-                 << cpp_strerror(r) << dendl;
-      return r;
+    if (mirror_image_info->state == RBD_MIRROR_IMAGE_ENABLED) {
+      r = Journal<>::is_tag_owner(ictx, &mirror_image_info->primary);
+      if (r < 0) {
+        lderr(cct) << "failed to check tag ownership: "
+                   << cpp_strerror(r) << dendl;
+        return r;
+      }
+    } else {
+      mirror_image_info->primary = false;
     }
 
     return 0;