From: Joao Eduardo Luis Date: Fri, 16 Jan 2015 18:12:42 +0000 (+0000) Subject: mon: PGMonitor: fix division by zero on stats dump X-Git-Tag: v0.93~234^2~2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=50547dc3c00b7556e26b9a44ec68640c5c3a2384;p=ceph.git mon: PGMonitor: fix division by zero on stats dump Signed-off-by: Joao Eduardo Luis --- diff --git a/src/mon/PGMonitor.cc b/src/mon/PGMonitor.cc index 87f32d69e28ca..32352b5c8753b 100644 --- a/src/mon/PGMonitor.cc +++ b/src/mon/PGMonitor.cc @@ -1269,7 +1269,10 @@ void PGMonitor::dump_object_stat_sum(TextTable &tbl, Formatter *f, } else { tbl << stringify(si_t(sum.num_bytes)); int64_t kb_used = SHIFT_ROUND_UP(sum.num_bytes, 10); - tbl << percentify(((float)kb_used / pg_map.osd_sum.kb)*100); + float used = 0.0; + if (pg_map.osd_sum.kb > 0) + used = (float)kb_used / pg_map.osd_sum.kb; + tbl << percentify(used*100); tbl << si_t(avail); tbl << sum.num_objects; if (verbose) { @@ -1419,7 +1422,11 @@ void PGMonitor::dump_fs_stats(stringstream &ss, Formatter *f, bool verbose) tbl << stringify(si_t(pg_map.osd_sum.kb*1024)) << stringify(si_t(pg_map.osd_sum.kb_avail*1024)) << stringify(si_t(pg_map.osd_sum.kb_used*1024)); - tbl << percentify(((float)pg_map.osd_sum.kb_used / pg_map.osd_sum.kb)*100); + float used = 0.0; + if (pg_map.osd_sum.kb > 0) { + used = ((float)pg_map.osd_sum.kb_used / pg_map.osd_sum.kb); + } + tbl << percentify(used*100); if (verbose) { tbl << stringify(si_t(pg_map.pg_sum.stats.sum.num_objects)); }