From: Paul Emmerich Date: Tue, 4 Sep 2018 21:37:07 +0000 (+0000) Subject: osd/OSDMap: add osd status to utilization dumper X-Git-Tag: v14.0.1~348^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=e32b62755317dc5aec251945c8188763594e1487;p=ceph.git osd/OSDMap: add osd status to utilization dumper It's mildly irritating that 'osd df' doesn't contain the information whether an OSD is up/down/destroyed. Fixes: http://tracker.ceph.com/issues/35544 Signed-off-by: Paul Emmerich --- diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc index ecc2683e66c3f..14c7f94ac65ca 100644 --- a/src/osd/OSDMap.cc +++ b/src/osd/OSDMap.cc @@ -4656,6 +4656,7 @@ public: tbl->define_column("%USE", TextTable::LEFT, TextTable::RIGHT); tbl->define_column("VAR", TextTable::LEFT, TextTable::RIGHT); tbl->define_column("PGS", TextTable::LEFT, TextTable::RIGHT); + tbl->define_column("STATUS", TextTable::LEFT, TextTable::RIGHT); if (tree) tbl->define_column("TYPE NAME", TextTable::LEFT, TextTable::LEFT); @@ -4715,8 +4716,16 @@ protected: if (qi.is_bucket()) { *tbl << "-"; + *tbl << ""; } else { *tbl << num_pgs; + if (osdmap->is_up(qi.id)) { + *tbl << "up"; + } else if (osdmap->is_destroyed(qi.id)) { + *tbl << "destroyed"; + } else { + *tbl << "down"; + } } if (tree) { @@ -4803,6 +4812,15 @@ protected: f->dump_float("utilization", util); f->dump_float("var", var); f->dump_unsigned("pgs", num_pgs); + if (!qi.is_bucket()) { + if (osdmap->is_up(qi.id)) { + f->dump_string("status", "up"); + } else if (osdmap->is_destroyed(qi.id)) { + f->dump_string("status", "destroyed"); + } else { + f->dump_string("status", "down"); + } + } CrushTreeDumper::dump_bucket_children(crush, qi, f); f->close_section(); }