]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/OSDMap: fix format error ceph osd stat --format json 32062/head
authorzhengyin <zhengyin@cmss.chinamobile.com>
Tue, 5 Nov 2019 07:29:34 +0000 (15:29 +0800)
committerNathan Cutler <ncutler@suse.com>
Fri, 6 Dec 2019 12:47:57 +0000 (13:47 +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 3f3bfe26b0a3b24b0ab5f6d8be76a2d0d160d434..b49647a0878c8d6a36cfbe8bbcbbb78f74fa2425 100644 (file)
@@ -4994,11 +4994,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" ||