From: David Zafman Date: Fri, 18 Nov 2016 23:12:39 +0000 (-0800) Subject: osd: Fix broken ec_size_mismatch setting X-Git-Tag: v11.1.0~210^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=402e5146e84f8c0e97fb5e620f9068f20a24b47e;p=ceph.git osd: Fix broken ec_size_mismatch setting Caused by: 1e95f2ce642485e25b74f7d873fda7e4b75a425f Signed-off-by: David Zafman --- diff --git a/src/osd/ECBackend.cc b/src/osd/ECBackend.cc index 4bcc66200501..cadfa6af0121 100644 --- a/src/osd/ECBackend.cc +++ b/src/osd/ECBackend.cc @@ -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; }