]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: Improve object_stat_sum_t handling
authorDavid Zafman <dzafman@redhat.com>
Fri, 23 Mar 2018 00:17:42 +0000 (17:17 -0700)
committerDavid Zafman <dzafman@redhat.com>
Wed, 11 Apr 2018 00:31:22 +0000 (17:31 -0700)
Keep post split PGs as inconsistent from original
Keep num_scrub_errors as total of other 2

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 39adde2655ebb40ad5c010fa77509acc35b25b91)

Conflicts:
src/osd/osd_types.h (trivial)

src/osd/osd_types.h

index 70786b20326139531f1012e29c24a775abdd0a1e..590dcc1eda7a0b6e959c7ae07ba9b8684a6cbc38 100644 (file)
@@ -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);