]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd: dump mirroring primary status on info command
authorJason Dillaman <dillaman@redhat.com>
Tue, 15 Mar 2016 18:36:31 +0000 (14:36 -0400)
committerJason Dillaman <dillaman@redhat.com>
Wed, 16 Mar 2016 00:14:45 +0000 (20:14 -0400)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/tools/rbd/action/Info.cc

index 3cb60604a911da8804ec38a523f1b2e43e4ae10f..beb7b08c792b3a90947a674280d975e14db0a9f7 100644 (file)
@@ -71,7 +71,7 @@ static int do_show_info(const char *imgname, librbd::Image& image,
   uint8_t old_format;
   uint64_t overlap, features, flags;
   bool snap_protected = false;
-  librbd::mirror_image_t mirror_image;
+  librbd::mirror_image_info_t mirror_image;
   int r;
 
   r = image.stat(info, sizeof(info));
@@ -102,7 +102,7 @@ static int do_show_info(const char *imgname, librbd::Image& image,
   }
 
   if (features & RBD_FEATURE_JOURNALING) {
-    r = image.mirror_image_get(&mirror_image);
+    r = image.mirror_image_get_info(&mirror_image, sizeof(mirror_image));
     if (r < 0) {
       return r;
     }
@@ -189,17 +189,22 @@ static int do_show_info(const char *imgname, librbd::Image& image,
 
   if (features & RBD_FEATURE_JOURNALING) {
     if (f) {
-      f->dump_string("mirroring_state",
+      f->open_object_section("mirroring");
+      f->dump_string("state",
           utils::mirror_image_state(mirror_image.state));
       if (mirror_image.state != RBD_MIRROR_IMAGE_DISABLED) {
-        f->dump_string("mirroring_global_id", mirror_image.global_id);
+        f->dump_string("global_id", mirror_image.global_id);
+        f->dump_bool("primary", mirror_image.primary);
       }
+      f->close_section();
     } else {
       std::cout << "\tmirroring state: "
-        << utils::mirror_image_state(mirror_image.state) << std::endl;
+                << utils::mirror_image_state(mirror_image.state) << std::endl;
       if (mirror_image.state != RBD_MIRROR_IMAGE_DISABLED) {
         std::cout << "\tmirroring global id: " << mirror_image.global_id
-          << std::endl;
+                  << std::endl
+                  << "\tmirroring primary: "
+                  << (mirror_image.primary ? "true" : "false") <<std::endl;
       }
     }
   }