]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/PGMap: show %used in formatted output 15387/head
authorJoao Eduardo Luis <joao@suse.de>
Wed, 31 May 2017 13:19:28 +0000 (14:19 +0100)
committerJoao Eduardo Luis <joao@suse.de>
Mon, 5 Jun 2017 22:13:50 +0000 (23:13 +0100)
Match what we currently have for the freeform text output. This prevents
the user from having to go through some annoying calculcations to obtain
a %used that matches the plaintext version of the command.

Fixes: http://tracker.ceph.com/issues/20123
Signed-off-by: Joao Eduardo Luis <joao@suse.de>
src/mon/PGMap.cc

index 5eddb50200ac4211c5a4c31e944a56209d2abcbc..275a397b3c9fc36ad99d90661e03aeeb4df50998 100644 (file)
@@ -781,9 +781,18 @@ void PGMapDigest::dump_object_stat_sum(
   if (sum.num_object_copies > 0)
     curr_object_copies_rate = (float)(sum.num_object_copies - sum.num_objects_degraded) / sum.num_object_copies;
 
+  float used = 0.0;
+  if (avail) {
+    used = sum.num_bytes * curr_object_copies_rate;
+    used /= used + avail;
+  } else if (sum.num_bytes) {
+    used = 1.0;
+  }
+
   if (f) {
     f->dump_int("kb_used", SHIFT_ROUND_UP(sum.num_bytes, 10));
     f->dump_int("bytes_used", sum.num_bytes);
+    f->dump_format_unquoted("percent_used", "%.2f", (used*100));
     f->dump_unsigned("max_avail", avail);
     f->dump_int("objects", sum.num_objects);
     if (verbose) {
@@ -798,13 +807,6 @@ void PGMapDigest::dump_object_stat_sum(
     }
   } else {
     tbl << stringify(si_t(sum.num_bytes));
-    float used = 0.0;
-    if (avail) {
-      used = sum.num_bytes * curr_object_copies_rate;
-      used /= used + avail;
-    } else if (sum.num_bytes) {
-      used = 1.0;
-    }
     tbl << percentify(used*100);
     tbl << si_t(avail);
     tbl << sum.num_objects;