summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-06-13 16:01:31 -0700
committerSage Weil <sage@inktank.com>2013-06-13 16:01:31 -0700
commit2bda9db1c24530cbaaa161b7ff0a80efa913aa78 (patch)
treed850baaac0b5b21cb69d14f6923a218f84be720f
parent6e73d999afa4189789c4b93e47ecda3c65494c98 (diff)
downloadceph-2bda9db1c24530cbaaa161b7ff0a80efa913aa78.tar.gz
osdc/Objecter: dump command ops
Dump command_ops along with everything else. Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/osdc/Objecter.cc24
-rw-r--r--src/osdc/Objecter.h1
2 files changed, 25 insertions, 0 deletions
diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc
index 3674d361f14..e6b07a248ed 100644
--- a/src/osdc/Objecter.cc
+++ b/src/osdc/Objecter.cc
@@ -2189,6 +2189,7 @@ void Objecter::dump_requests(Formatter& fmt) const
dump_pool_ops(fmt);
dump_pool_stat_ops(fmt);
dump_statfs_ops(fmt);
+ dump_command_ops(fmt);
fmt.close_section(); // requests object
}
@@ -2245,6 +2246,29 @@ void Objecter::dump_linger_ops(Formatter& fmt) const
fmt.close_section(); // linger_ops array
}
+void Objecter::dump_command_ops(Formatter& fmt) const
+{
+ fmt.open_array_section("command_ops");
+ for (map<uint64_t, CommandOp*>::const_iterator p = command_ops.begin();
+ p != command_ops.end();
+ ++p) {
+ CommandOp *op = p->second;
+ fmt.open_object_section("command_op");
+ fmt.dump_unsigned("command_id", op->tid);
+ fmt.dump_int("osd", op->session ? op->session->osd : -1);
+ fmt.open_array_section("command");
+ for (vector<string>::const_iterator q = op->cmd.begin(); q != op->cmd.end(); ++q)
+ fmt.dump_string("word", *q);
+ fmt.close_section();
+ if (op->target_osd >= 0)
+ fmt.dump_int("target_osd", op->target_osd);
+ else
+ fmt.dump_stream("target_pg") << op->target_pg;
+ fmt.close_section(); // command_op object
+ }
+ fmt.close_section(); // command_ops array
+}
+
void Objecter::dump_pool_ops(Formatter& fmt) const
{
fmt.open_array_section("pool_ops");
diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h
index b64c8f77ed0..5f28d6d7eac 100644
--- a/src/osdc/Objecter.h
+++ b/src/osdc/Objecter.h
@@ -1226,6 +1226,7 @@ private:
void dump_requests(Formatter& fmt) const;
void dump_ops(Formatter& fmt) const;
void dump_linger_ops(Formatter& fmt) const;
+ void dump_command_ops(Formatter& fmt) const;
void dump_pool_ops(Formatter& fmt) const;
void dump_pool_stat_ops(Formatter& fmt) const;
void dump_statfs_ops(Formatter& fmt) const;