From: junxiang Mu <1948535941@qq.com> Date: Tue, 9 Jul 2024 07:37:34 +0000 (+0800) Subject: src/crimson/osd/scrub: fix the null pointer error X-Git-Tag: v19.2.1~305^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4621d82ea59a9d46f03203102aca9d50a7866713;p=ceph.git src/crimson/osd/scrub: fix the null pointer error Fixes: https://tracker.ceph.com/issues/66405 Signed-off-by: junxiang Mu <1948535941@qq.com> (cherry picked from commit 37f772172f4dcaa3214229f577bea0289b21b5d8) --- diff --git a/src/crimson/osd/scrub/scrub_validator.cc b/src/crimson/osd/scrub/scrub_validator.cc index a3979f790bca..9b38d2a89eca 100644 --- a/src/crimson/osd/scrub/scrub_validator.cc +++ b/src/crimson/osd/scrub/scrub_validator.cc @@ -60,13 +60,15 @@ shard_evaluation_t evaluate_object_shard( if (from == policy.primary) { ret.shard_info.primary = true; } - if (!maybe_obj || maybe_obj->negative) { - // impossible since chunky scrub was introduced - ceph_assert(!maybe_obj->negative); + + if (!maybe_obj) { ret.shard_info.set_missing(); return ret; } + // impossible since chunky scrub was introduced + ceph_assert(!maybe_obj->negative); + auto &obj = *maybe_obj; /* We are ignoring ScrubMap::object::large_omap_object*, object_omap_* is all the * info we need */