When accumulating user stats, the "utilized" fields are not looked
at. Updates RGWStorageStats::dump so it only outputs the "utilized"
data if they're updated.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit
248fbce6b54f6c91e63b05861f8631ca64c8df81)
Conflicts:
src/rgw/rgw_admin.cc
Cherry-pick notes:
- Conflicts due to change of interface for rgw user and rados store
}
}
- RGWStorageStats stats;
+ constexpr bool omit_utilized_stats = false;
+ RGWStorageStats stats(omit_utilized_stats);
ceph::real_time last_stats_sync;
ceph::real_time last_stats_update;
int ret = store->ctl()->user->read_stats(user_id, &stats, &last_stats_sync, &last_stats_update);
*
*/
-#ifndef CEPH_RGW_COMMON_H
-#define CEPH_RGW_COMMON_H
+#pragma once
#include <array>
RGWObjCategory category;
uint64_t size;
uint64_t size_rounded;
- uint64_t size_utilized{0}; //< size after compression, encryption
uint64_t num_objects;
+ uint64_t size_utilized{0}; //< size after compression, encryption
+ bool dump_utilized; // whether dump should include utilized values
- RGWStorageStats()
+ RGWStorageStats(bool _dump_utilized=true)
: category(RGWObjCategory::None),
size(0),
size_rounded(0),
- num_objects(0) {}
+ num_objects(0),
+ dump_utilized(_dump_utilized)
+ {}
void dump(Formatter *f) const;
-};
+}; // RGWStorageStats
class RGWEnv;
}
return 0;
}
-
-#endif
{
encode_json("size", size, f);
encode_json("size_actual", size_rounded, f);
- encode_json("size_utilized", size_utilized, f);
+ if (dump_utilized) {
+ encode_json("size_utilized", size_utilized, f);
+ }
encode_json("size_kb", rgw_rounded_kb(size), f);
encode_json("size_kb_actual", rgw_rounded_kb(size_rounded), f);
- encode_json("size_kb_utilized", rgw_rounded_kb(size_utilized), f);
+ if (dump_utilized) {
+ encode_json("size_kb_utilized", rgw_rounded_kb(size_utilized), f);
+ }
encode_json("num_objects", num_objects, f);
}