From: Zhiqiang Wang Date: Mon, 30 Mar 2015 06:41:21 +0000 (+0800) Subject: common/OpTracker: don't dump ops if tracking is not enabled X-Git-Tag: v0.94.10~11^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b58873efafabdc9791f500cff77be9a0a7002227;p=ceph.git common/OpTracker: don't dump ops if tracking is not enabled If tracking is disabled, there is nothing to dump. No need to go through each sharded list. This is true for both in flight and historical ops. Signed-off-by: Zhiqiang Wang (cherry picked from commit ec3c40952bbc4b495875e08b57d764a7487c6c09) --- diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index 69d6be05a49..66232acbb9d 100644 --- a/src/mds/MDS.cc +++ b/src/mds/MDS.cc @@ -242,9 +242,17 @@ bool MDS::asok_command(string command, cmdmap_t& cmdmap, string format, f->dump_string("error", "mds_not_active"); } else if (command == "dump_ops_in_flight" || command == "ops") { - op_tracker.dump_ops_in_flight(f); + if (!op_tracker.tracking_enabled) { + ss << "op_tracker tracking is not enabled"; + } else { + op_tracker.dump_ops_in_flight(f); + } } else if (command == "dump_historic_ops") { - op_tracker.dump_historic_ops(f); + if (!op_tracker.tracking_enabled) { + ss << "op_tracker tracking is not enabled"; + } else { + op_tracker.dump_historic_ops(f); + } } else if (command == "osdmap barrier") { int64_t target_epoch = 0; bool got_val = cmd_getval(g_ceph_context, cmdmap, "target_epoch", target_epoch); diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index fc9674d099f..d49b64ada94 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -1685,9 +1685,17 @@ bool OSD::asok_command(string command, cmdmap_t& cmdmap, string format, store->sync_and_flush(); } else if (command == "dump_ops_in_flight" || command == "ops") { - op_tracker.dump_ops_in_flight(f); + if (!op_tracker.tracking_enabled) { + ss << "op_tracker tracking is not enabled"; + } else { + op_tracker.dump_ops_in_flight(f); + } } else if (command == "dump_historic_ops") { - op_tracker.dump_historic_ops(f); + if (!op_tracker.tracking_enabled) { + ss << "op_tracker tracking is not enabled"; + } else { + op_tracker.dump_historic_ops(f); + } } else if (command == "dump_op_pq_state") { f->open_object_section("pq"); op_shardedwq.dump(f);