f->dump_int("num_write", num_wr);
f->dump_int("num_write_kb", num_wr_kb);
f->dump_int("num_scrub_errors", num_scrub_errors);
+ f->dump_int("num_objects_recovered", num_objects_recovered);
+ f->dump_int("num_bytes_recovered", num_bytes_recovered);
+ f->dump_int("num_keys_recovered", num_keys_recovered);
}
void object_stat_sum_t::encode(bufferlist& bl) const
{
- ENCODE_START(4, 3, bl);
+ ENCODE_START(5, 3, bl);
::encode(num_bytes, bl);
::encode(num_objects, bl);
::encode(num_object_clones, bl);
::encode(num_wr, bl);
::encode(num_wr_kb, bl);
::encode(num_scrub_errors, bl);
+ ::encode(num_objects_recovered, bl);
+ ::encode(num_bytes_recovered, bl);
+ ::encode(num_keys_recovered, bl);
ENCODE_FINISH(bl);
}
void object_stat_sum_t::decode(bufferlist::iterator& bl)
{
- DECODE_START_LEGACY_COMPAT_LEN(4, 3, 3, bl);
+ DECODE_START_LEGACY_COMPAT_LEN(5, 3, 3, bl);
::decode(num_bytes, bl);
if (struct_v < 3) {
uint64_t num_kb;
::decode(num_scrub_errors, bl);
else
num_scrub_errors = 0;
+ if (struct_v >= 5) {
+ ::decode(num_objects_recovered, bl);
+ ::decode(num_bytes_recovered, bl);
+ ::decode(num_keys_recovered, bl);
+ } else {
+ num_objects_recovered = 0;
+ num_bytes_recovered = 0;
+ num_keys_recovered = 0;
+ }
DECODE_FINISH(bl);
}
a.num_rd = 9; a.num_rd_kb = 10;
a.num_wr = 11; a.num_wr_kb = 12;
a.num_scrub_errors = 13;
+ a.num_objects_recovered = 14;
+ a.num_bytes_recovered = 15;
+ a.num_keys_recovered = 16;
o.push_back(new object_stat_sum_t(a));
}
num_wr_kb += o.num_wr_kb;
num_objects_unfound += o.num_objects_unfound;
num_scrub_errors += o.num_scrub_errors;
+ num_objects_recovered += o.num_objects_recovered;
+ num_bytes_recovered += o.num_bytes_recovered;
+ num_keys_recovered += o.num_keys_recovered;
}
void object_stat_sum_t::sub(const object_stat_sum_t& o)
num_wr_kb -= o.num_wr_kb;
num_objects_unfound -= o.num_objects_unfound;
num_scrub_errors -= o.num_scrub_errors;
+ num_objects_recovered -= o.num_objects_recovered;
+ num_bytes_recovered -= o.num_bytes_recovered;
+ num_keys_recovered -= o.num_keys_recovered;
}
int64_t num_rd, num_rd_kb;
int64_t num_wr, num_wr_kb;
int64_t num_scrub_errors;
+ int64_t num_objects_recovered;
+ int64_t num_bytes_recovered;
+ int64_t num_keys_recovered;
object_stat_sum_t()
: num_bytes(0),
num_objects(0), num_object_clones(0), num_object_copies(0),
num_objects_missing_on_primary(0), num_objects_degraded(0), num_objects_unfound(0),
num_rd(0), num_rd_kb(0), num_wr(0), num_wr_kb(0),
- num_scrub_errors(0)
+ num_scrub_errors(0),
+ num_objects_recovered(0),
+ num_bytes_recovered(0),
+ num_keys_recovered(0)
{}
void clear() {