]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/OSDMap: fix format error ceph osd stat --format json 31399/head
authorzhengyin <zhengyin@cmss.chinamobile.com>
Tue, 5 Nov 2019 07:29:34 +0000 (15:29 +0800)
committerzhengyin <zhengyin@cmss.chinamobile.com>
Thu, 7 Nov 2019 04:54:17 +0000 (12:54 +0800)
Fixes: https://tracker.ceph.com/issues/42501
Signed-off-by: Zheng Yin <zhengyin@cmss.chinamobile.com>
src/mon/OSDMonitor.cc

index 4a6ce598c6a0baf2517ccbf905e8bd0ad7e6b8f7..838bc996b16b5ecfc088c9ea2f7ecd6f026d9d86 100644 (file)
@@ -5249,11 +5249,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" ||