From: Xuehan Xu Date: Thu, 16 Apr 2026 05:47:18 +0000 (+0800) Subject: crimson/osd: treat OI-not-existing cases as enoent X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8743573a0b95d09283d6315f16cd687b618a3965;p=ceph-ci.git crimson/osd: treat OI-not-existing cases as enoent This is consistent with classic osds Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/osd/pg_backend.cc b/src/crimson/osd/pg_backend.cc index d0c9ff412d5..4e093a39d59 100644 --- a/src/crimson/osd/pg_backend.cc +++ b/src/crimson/osd/pg_backend.cc @@ -113,7 +113,7 @@ PGBackend::decode_metadata2( oid); return tl::unexpected( ErrorHelper::to_error( - crimson::ct_error::object_corrupted::make())); + crimson::ct_error::enoent::make())); } if (oid.is_head()) { @@ -170,7 +170,9 @@ PGBackend::load_metadata(const hobject_t& oid) return ErrorHelper\ ::from_error(maybe_decoded.error()); } - }, crimson::ct_error::enoent::handle([oid] { + } + ).handle_error_interruptible( + crimson::ct_error::enoent::handle([oid] { logger().debug( "load_metadata: object {} doesn't exist, returning empty metadata", oid); @@ -181,7 +183,9 @@ PGBackend::load_metadata(const hobject_t& oid) false), oid.is_head() ? (new crimson::osd::SnapSetContext(oid)) : nullptr }); - })); + }), + load_metadata_iertr::pass_further{} + ); } static inline bool _read_verify_data( diff --git a/src/crimson/osd/pg_backend.h b/src/crimson/osd/pg_backend.h index bda7d73ac1b..d41b1bf7676 100644 --- a/src/crimson/osd/pg_backend.h +++ b/src/crimson/osd/pg_backend.h @@ -50,7 +50,8 @@ protected: public: using load_metadata_ertr = crimson::errorator< - crimson::ct_error::object_corrupted>; + crimson::ct_error::object_corrupted, + crimson::ct_error::enoent>; using load_metadata_iertr = ::crimson::interruptible::interruptible_errorator< ::crimson::osd::IOInterruptCondition,