]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/OSDMap: fix format error ceph osd stat --format json 33322/head
authorzhengyin <zhengyin@cmss.chinamobile.com>
Tue, 5 Nov 2019 07:29:34 +0000 (15:29 +0800)
committerNathan Cutler <ncutler@suse.com>
Fri, 14 Feb 2020 12:25:58 +0000 (13:25 +0100)
Fixes: https://tracker.ceph.com/issues/42501
Signed-off-by: Zheng Yin <zhengyin@cmss.chinamobile.com>
(cherry picked from commit a85499ca57dd22e61bcad614897dc5fd57196353)

src/mon/OSDMonitor.cc

index 3e5e6c2d7c180fd25b4e8efebda760c2e824a9f0..f9bf1c567ed299bb42175a624041ae8b52b37e67 100644 (file)
@@ -4381,11 +4381,15 @@ bool OSDMonitor::preprocess_command(MonOpRequestRef op)
   boost::scoped_ptr<Formatter> f(Formatter::create(format));
 
   if (prefix == "osd stat") {
-    osdmap.print_summary(f.get(), ds, "", true);
-    if (f)
+    if (f) {
+      f->open_object_section("osdmap");
+      osdmap.print_summary(f.get(), ds, "", true);
+      f->close_section();
       f->flush(rdata);
-    else
+    } else {
+      osdmap.print_summary(nullptr, ds, "", true);
       rdata.append(ds);
+    }
   }
   else if (prefix == "osd dump" ||
           prefix == "osd tree" ||