From: David Zafman Date: Fri, 23 Mar 2018 00:17:42 +0000 (-0700) Subject: osd: Improve object_stat_sum_t handling X-Git-Tag: v12.2.5~35^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=53e6d18d37e6d3b289c27994c57705c585b7a6ae;p=ceph.git osd: Improve object_stat_sum_t handling Keep post split PGs as inconsistent from original Keep num_scrub_errors as total of other 2 Signed-off-by: David Zafman (cherry picked from commit 39adde2655ebb40ad5c010fa77509acc35b25b91) Conflicts: src/osd/osd_types.h (trivial) --- diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index 70786b203261..590dcc1eda7a 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -1702,9 +1702,9 @@ struct object_stat_sum_t { FLOOR(num_rd_kb); FLOOR(num_wr); FLOOR(num_wr_kb); - FLOOR(num_scrub_errors); FLOOR(num_shallow_scrub_errors); FLOOR(num_deep_scrub_errors); + num_scrub_errors = num_shallow_scrub_errors + num_deep_scrub_errors; FLOOR(num_objects_recovered); FLOOR(num_bytes_recovered); FLOOR(num_keys_recovered); @@ -1756,9 +1756,12 @@ struct object_stat_sum_t { SPLIT(num_rd_kb); SPLIT(num_wr); SPLIT(num_wr_kb); - SPLIT(num_scrub_errors); - SPLIT(num_shallow_scrub_errors); - SPLIT(num_deep_scrub_errors); + SPLIT_PRESERVE_NONZERO(num_shallow_scrub_errors); + SPLIT_PRESERVE_NONZERO(num_deep_scrub_errors); + for (unsigned i = 0; i < out.size(); ++i) { + out[i].num_scrub_errors = out[i].num_shallow_scrub_errors + + out[i].num_deep_scrub_errors; + } SPLIT(num_objects_recovered); SPLIT(num_bytes_recovered); SPLIT(num_keys_recovered);