From 4621d82ea59a9d46f03203102aca9d50a7866713 Mon Sep 17 00:00:00 2001 From: junxiang Mu <1948535941@qq.com> Date: Tue, 9 Jul 2024 15:37:34 +0800 Subject: [PATCH] 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) --- src/crimson/osd/scrub/scrub_validator.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 */ -- 2.47.3