From: myoungwon oh Date: Thu, 1 Apr 2021 00:59:22 +0000 (+0900) Subject: osd: do not assert() in the case of no obc X-Git-Tag: v17.1.0~2307^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F39216%2Fhead;p=ceph.git osd: do not assert() in the case of no obc Upon rollback, we should handle ENOENT case, so what we should do here is to return NOOP. Signed-off-by: Myoungwon Oh --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index c0968d008347..c7d9a469aa17 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -2468,7 +2468,11 @@ PrimaryLogPG::cache_result_t PrimaryLogPG::maybe_handle_manifest_detail( bool write_ordered, ObjectContextRef obc) { - ceph_assert(obc); + if (!obc) { + dout(20) << __func__ << ": no obc " << dendl; + return cache_result_t::NOOP; + } + if (!obc->obs.oi.has_manifest()) { dout(20) << __func__ << ": " << obc->obs.oi.soid << " is not manifest object " << dendl;