From: Sage Weil Date: Tue, 17 Dec 2013 00:03:56 +0000 (-0800) Subject: osd/osd_types: include num_objects_dirty, num_whiteouts in object_stat_sum_t X-Git-Tag: v0.75~45^2~11 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=028bb0d1e2f8dc6a1c0b4297a4996d29cdb3e558;p=ceph.git osd/osd_types: include num_objects_dirty, num_whiteouts in object_stat_sum_t Signed-off-by: Sage Weil --- diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index 421c71802dce..9e5dcff1eddf 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -1185,6 +1185,8 @@ void object_stat_sum_t::dump(Formatter *f) const f->dump_int("num_objects_missing_on_primary", num_objects_missing_on_primary); f->dump_int("num_objects_degraded", num_objects_degraded); f->dump_int("num_objects_unfound", num_objects_unfound); + f->dump_int("num_objects_dirty", num_objects_dirty); + f->dump_int("num_whiteouts", num_whiteouts); f->dump_int("num_read", num_rd); f->dump_int("num_read_kb", num_rd_kb); f->dump_int("num_write", num_wr); @@ -1199,7 +1201,7 @@ void object_stat_sum_t::dump(Formatter *f) const void object_stat_sum_t::encode(bufferlist& bl) const { - ENCODE_START(6, 3, bl); + ENCODE_START(7, 3, bl); ::encode(num_bytes, bl); ::encode(num_objects, bl); ::encode(num_object_clones, bl); @@ -1217,12 +1219,14 @@ void object_stat_sum_t::encode(bufferlist& bl) const ::encode(num_keys_recovered, bl); ::encode(num_shallow_scrub_errors, bl); ::encode(num_deep_scrub_errors, bl); + ::encode(num_objects_dirty, bl); + ::encode(num_whiteouts, bl); ENCODE_FINISH(bl); } void object_stat_sum_t::decode(bufferlist::iterator& bl) { - DECODE_START_LEGACY_COMPAT_LEN(6, 3, 3, bl); + DECODE_START_LEGACY_COMPAT_LEN(7, 3, 3, bl); ::decode(num_bytes, bl); if (struct_v < 3) { uint64_t num_kb; @@ -1259,6 +1263,13 @@ void object_stat_sum_t::decode(bufferlist::iterator& bl) num_shallow_scrub_errors = 0; num_deep_scrub_errors = 0; } + if (struct_v >= 7) { + ::decode(num_objects_dirty, bl); + ::decode(num_whiteouts, bl); + } else { + num_objects_dirty = 0; + num_whiteouts = 0; + } DECODE_FINISH(bl); } @@ -1282,6 +1293,8 @@ void object_stat_sum_t::generate_test_instances(list& o) a.num_deep_scrub_errors = 17; a.num_shallow_scrub_errors = 18; a.num_scrub_errors = a.num_deep_scrub_errors + a.num_shallow_scrub_errors; + a.num_objects_dirty = 21; + a.num_whiteouts = 22; o.push_back(new object_stat_sum_t(a)); } @@ -1304,6 +1317,8 @@ void object_stat_sum_t::add(const object_stat_sum_t& o) num_objects_recovered += o.num_objects_recovered; num_bytes_recovered += o.num_bytes_recovered; num_keys_recovered += o.num_keys_recovered; + num_objects_dirty += o.num_objects_dirty; + num_whiteouts += o.num_whiteouts; } void object_stat_sum_t::sub(const object_stat_sum_t& o) @@ -1325,6 +1340,8 @@ void object_stat_sum_t::sub(const object_stat_sum_t& o) num_objects_recovered -= o.num_objects_recovered; num_bytes_recovered -= o.num_bytes_recovered; num_keys_recovered -= o.num_keys_recovered; + num_objects_dirty -= o.num_objects_dirty; + num_whiteouts -= o.num_whiteouts; } diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index 7a0ac4d0d1ba..57789df8d424 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -974,6 +974,8 @@ struct object_stat_sum_t { int64_t num_objects_recovered; int64_t num_bytes_recovered; int64_t num_keys_recovered; + int64_t num_objects_dirty; + int64_t num_whiteouts; object_stat_sum_t() : num_bytes(0), @@ -984,7 +986,9 @@ struct object_stat_sum_t { num_deep_scrub_errors(0), num_objects_recovered(0), num_bytes_recovered(0), - num_keys_recovered(0) + num_keys_recovered(0), + num_objects_dirty(0), + num_whiteouts(0) {} void floor(int64_t f) { @@ -1006,6 +1010,8 @@ struct object_stat_sum_t { FLOOR(num_objects_recovered); FLOOR(num_bytes_recovered); FLOOR(num_keys_recovered); + FLOOR(num_objects_dirty); + FLOOR(num_whiteouts); #undef FLOOR }