From 2f95d920940abbde244ce0571976ede362f05ce1 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 23 Apr 2011 21:04:52 -0700 Subject: [PATCH] mon: include unfound count in pg recovery summary Fixes: #1003 Signed-off-by: Sage Weil --- src/mon/PGMap.h | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/src/mon/PGMap.h b/src/mon/PGMap.h index 032cfff3ec0d1..502fdc0299ca2 100644 --- a/src/mon/PGMap.h +++ b/src/mon/PGMap.h @@ -356,6 +356,28 @@ public: } } + void recovery_summary(ostream& out) const { + bool first = true; + if (pg_sum.num_objects_degraded) { + double pc = (double)pg_sum.num_objects_degraded / (double)pg_sum.num_object_copies * (double)100.0; + char b[20]; + snprintf(b, sizeof(b), "%.3lf", pc); + out << pg_sum.num_objects_degraded + << "/" << pg_sum.num_object_copies << " degraded (" << b << "%)"; + first = false; + } + if (pg_sum.num_objects_unfound) { + double pc = (double)pg_sum.num_objects_unfound / (double)pg_sum.num_objects * (double)100.0; + char b[20]; + snprintf(b, sizeof(b), "%.3lf", pc); + if (!first) + out << "; "; + out << pg_sum.num_objects_unfound + << "/" << pg_sum.num_objects << " unfound (" << b << "%)"; + first = false; + } + } + void print_summary(ostream& out) const { std::stringstream ss; state_summary(ss); @@ -367,15 +389,10 @@ public: << kb_t(osd_sum.kb_used) << " used, " << kb_t(osd_sum.kb_avail) << " / " << kb_t(osd_sum.kb) << " avail"; - - if (pg_sum.num_objects_degraded) { - double pc = (double)pg_sum.num_objects_degraded / (double)pg_sum.num_object_copies * (double)100.0; - char b[20]; - snprintf(b, sizeof(b), "%.3lf", pc); - out << "; " //<< pg_sum.num_objects_missing_on_primary << "/" - << pg_sum.num_objects_degraded - << "/" << pg_sum.num_object_copies << " degraded (" << b << "%)"; - } + ss.clear(); + recovery_summary(ss); + if (ss.str().length()) + out << "; " << ss.str(); } }; -- 2.39.5