From: Mykola Golub Date: Tue, 21 Sep 2021 10:28:31 +0000 (+0100) Subject: osd: no need to crash in deep scrub if hash info is invalid X-Git-Tag: v17.1.0~684^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=104d8df5f44cf522422914b254536f42bbe31172;p=ceph.git osd: no need to crash in deep scrub if hash info is invalid Signed-off-by: Mykola Golub --- diff --git a/src/osd/ECBackend.cc b/src/osd/ECBackend.cc index d9d2b5ae1be7..15bb059033ab 100644 --- a/src/osd/ECBackend.cc +++ b/src/osd/ECBackend.cc @@ -2588,7 +2588,11 @@ int ECBackend::be_deep_scrub( return 0; } else { if (!get_parent()->get_pool().allows_ecoverwrites()) { - ceph_assert(hinfo->has_chunk_hash()); + if (!hinfo->has_chunk_hash()) { + dout(0) << "_scan_list " << poid << " got invalid hash info" << dendl; + o.ec_size_mismatch = true; + return 0; + } if (hinfo->get_total_chunk_size() != (unsigned)pos.data_pos) { dout(0) << "_scan_list " << poid << " got incorrect size on read 0x" << std::hex << pos