]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd: Fix broken ec_size_mismatch setting
authorDavid Zafman <dzafman@redhat.com>
Fri, 18 Nov 2016 23:12:39 +0000 (15:12 -0800)
committerDavid Zafman <dzafman@redhat.com>
Mon, 21 Nov 2016 15:52:12 +0000 (07:52 -0800)
Caused by: 1e95f2ce642485e25b74f7d873fda7e4b75a425f

Signed-off-by: David Zafman <dzafman@redhat.com>
src/osd/ECBackend.cc

index 4bcc66200501a38bfacc67e5dedbf6bdc5073353..cadfa6af01211a0c70fd94c088c3a4a1a1d46b81 100644 (file)
@@ -2348,14 +2348,14 @@ void ECBackend::be_deep_scrub(
   } else {
     if (!get_parent()->get_pool().is_hacky_ecoverwrites()) {
       assert(hinfo->has_chunk_hash());
-      if (hinfo->get_chunk_hash(get_parent()->whoami_shard().shard) != h.digest()) {
-       dout(0) << "_scan_list  " << poid << " got incorrect hash on read" << dendl;
-       o.ec_hash_mismatch = true;
+      if (hinfo->get_total_chunk_size() != pos) {
+       dout(0) << "_scan_list  " << poid << " got incorrect size on read" << dendl;
+       o.ec_size_mismatch = true;
        return;
       }
 
-      if (hinfo->get_total_chunk_size() != pos) {
-       dout(0) << "_scan_list  " << poid << " got incorrect size on read" << dendl;
+      if (hinfo->get_chunk_hash(get_parent()->whoami_shard().shard) != h.digest()) {
+       dout(0) << "_scan_list  " << poid << " got incorrect hash on read" << dendl;
        o.ec_hash_mismatch = true;
        return;
       }