]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon: move 'osd perf' and 'osd blocked-by' to PGMap
authorSage Weil <sage@redhat.com>
Mon, 3 Apr 2017 16:46:21 +0000 (12:46 -0400)
committerSage Weil <sage@redhat.com>
Mon, 3 Apr 2017 16:46:21 +0000 (12:46 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/OSDMonitor.cc
src/mon/PGMap.cc

index 6fa5e8de4be7fa52bfd0770c8a5666d13d081aff..7d701d890bad12027ce4929f1c9827f7dd058b43 100644 (file)
@@ -3771,29 +3771,11 @@ bool OSDMonitor::preprocess_command(MonOpRequestRef op)
     else
       rdata.append(ds);
   }
-  else if (prefix == "osd perf") {
+  else if (prefix == "osd perf" ||
+          prefix == "osd blocked-by") {
     const PGMap &pgm = mon->pgmon()->pg_map;
-    if (f) {
-      f->open_object_section("osdstats");
-      pgm.dump_osd_perf_stats(f.get());
-      f->close_section();
-      f->flush(ds);
-    } else {
-      pgm.print_osd_perf_stats(&ds);
-    }
-    rdata.append(ds);
-  }
-  else if (prefix == "osd blocked-by") {
-    const PGMap &pgm = mon->pgmon()->pg_map;
-    if (f) {
-      f->open_object_section("osd_blocked_by");
-      pgm.dump_osd_blocked_by_stats(f.get());
-      f->close_section();
-      f->flush(ds);
-    } else {
-      pgm.print_osd_blocked_by_stats(&ds);
-    }
-    rdata.append(ds);
+    r = process_pg_map_command(prefix, cmdmap, pgm, osdmap,
+                              f.get(), &ss, &rdata);
   }
   else if (prefix == "osd dump" ||
           prefix == "osd tree" ||
index 590b2f545eaf46288da8a505230b7905105193b9..9a09d77e3bdb272ee7c11ee96d5132dd94796f5a 100644 (file)
@@ -2393,6 +2393,32 @@ int process_pg_map_command(
     }
   }
 
+  if (prefix == "osd perf") {
+    if (f) {
+      f->open_object_section("osdstats");
+      pg_map.dump_osd_perf_stats(f);
+      f->close_section();
+      f->flush(ds);
+    } else {
+      pg_map.print_osd_perf_stats(&ds);
+    }
+    odata->append(ds);
+    return 0;
+  }
+
+  if (prefix == "osd blocked-by") {
+    if (f) {
+      f->open_object_section("osd_blocked_by");
+      pg_map.dump_osd_blocked_by_stats(f);
+      f->close_section();
+      f->flush(ds);
+    } else {
+      pg_map.print_osd_blocked_by_stats(&ds);
+    }
+    odata->append(ds);
+    return 0;
+  }
+
   return -EOPNOTSUPP;
 }