]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rados: out json 'df' values as numbers, not strings 14644/head
authorSage Weil <sage@redhat.com>
Wed, 19 Apr 2017 16:15:09 +0000 (12:15 -0400)
committerSage Weil <sage@redhat.com>
Thu, 20 Apr 2017 20:54:33 +0000 (16:54 -0400)
Fixes: http://tracker.ceph.com/issues/15546
Signed-off-by: Sage Weil <sage@redhat.com
PendingReleaseNotes
src/tools/rados/rados.cc

index f010976e7ff1e24f3c5d31d465a0ae0ed23aad0f..fa7046f898ba35f3b915c6d592a382b9be34a805 100644 (file)
   enabled by setting 'allow_ec_overwrites' to 'true' for a pool. Since
   this relies on bluestore's checksumming to do deep scrubbing,
   enabling this on a pool stored on filestore is not allowed.
+
+* The 'rados df' JSON output now prints numeric values as numbers instead of
+  strings.
+
index cd89f6638184e37f68600fc5364d91e4225c5ca9..3bb255aed5f96e1b3e09ce2f6ebb04463b992740 100644 (file)
@@ -2064,21 +2064,22 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts,
         int64_t pool_id = rados.pool_lookup(pool_name);
         formatter->dump_string("name", pool_name);
         if (pool_id >= 0)
-          formatter->dump_format("id", "%lld", pool_id);
+          formatter->dump_int("id", pool_id);
         else
-          cerr << "ERROR: lookup_pg_pool_name for name=" << pool_name << " returned " << pool_id << std::endl;
-       formatter->dump_format("size_bytes", "%lld", s.num_bytes);
-       formatter->dump_format("size_kb", "%lld", s.num_kb);
-       formatter->dump_format("num_objects", "%lld", s.num_objects);
-       formatter->dump_format("num_object_clones", "%lld", s.num_object_clones);
-       formatter->dump_format("num_object_copies", "%lld", s.num_object_copies);
-       formatter->dump_format("num_objects_missing_on_primary", "%lld", s.num_objects_missing_on_primary);
-       formatter->dump_format("num_objects_unfound", "%lld", s.num_objects_unfound);
-       formatter->dump_format("num_objects_degraded", "%lld", s.num_objects_degraded);
-       formatter->dump_format("read_ops", "%lld", s.num_rd);
-       formatter->dump_format("read_bytes", "%lld", s.num_rd_kb * 1024ull);
-       formatter->dump_format("write_ops", "%lld", s.num_wr);
-       formatter->dump_format("write_bytes", "%lld", s.num_wr_kb * 1024ull);
+          cerr << "ERROR: lookup_pg_pool_name for name=" << pool_name
+              << " returned " << pool_id << std::endl;
+       formatter->dump_int("size_bytes",s.num_bytes);
+       formatter->dump_int("size_kb", s.num_kb);
+       formatter->dump_int("num_objects", s.num_objects);
+       formatter->dump_int("num_object_clones", s.num_object_clones);
+       formatter->dump_int("num_object_copies", s.num_object_copies);
+       formatter->dump_int("num_objects_missing_on_primary", s.num_objects_missing_on_primary);
+       formatter->dump_int("num_objects_unfound", s.num_objects_unfound);
+       formatter->dump_int("num_objects_degraded", s.num_objects_degraded);
+       formatter->dump_int("read_ops", s.num_rd);
+       formatter->dump_int("read_bytes", s.num_rd_kb * 1024ull);
+       formatter->dump_int("write_ops", s.num_wr);
+       formatter->dump_int("write_bytes", s.num_wr_kb * 1024ull);
        formatter->close_section();
       }
     }
@@ -2106,10 +2107,10 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts,
            << std::endl;
     } else {
       formatter->close_section();
-      formatter->dump_format("total_objects", "%lld", (long long unsigned)tstats.num_objects);
-      formatter->dump_format("total_used", "%lld", (long long unsigned)tstats.kb_used);
-      formatter->dump_format("total_avail", "%lld", (long long unsigned)tstats.kb_avail);
-      formatter->dump_format("total_space", "%lld", (long long unsigned)tstats.kb);
+      formatter->dump_int("total_objects", tstats.num_objects);
+      formatter->dump_int("total_used", tstats.kb_used);
+      formatter->dump_int("total_avail", tstats.kb_avail);
+      formatter->dump_int("total_space", tstats.kb);
       formatter->close_section();
       formatter->flush(cout);
     }