From: Radosław Zarzyński Date: Mon, 9 May 2022 12:43:34 +0000 (+0200) Subject: crimson/osd, rgw: implement the new Objclass API methods for cls_rgw X-Git-Tag: v18.0.0~939^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F46205%2Fhead;p=ceph.git crimson/osd, rgw: implement the new Objclass API methods for cls_rgw They were introduced by 3877c1e37f2fa4e1574b57f05132288f210835a7. Signed-off-by: Radosław Zarzyński --- diff --git a/src/crimson/osd/objclass.cc b/src/crimson/osd/objclass.cc index d4fcbeebdf03..ae3e61b3bc9d 100644 --- a/src/crimson/osd/objclass.cc +++ b/src/crimson/osd/objclass.cc @@ -7,6 +7,7 @@ #include "common/ceph_context.h" #include "common/ceph_releases.h" #include "common/config.h" +#include "crimson/common/config_proxy.h" #include "common/debug.h" #include "crimson/osd/exceptions.h" @@ -498,16 +499,12 @@ ceph_release_t cls_get_min_compatible_client(cls_method_context_t hctx) const ConfigProxy& cls_get_config(cls_method_context_t hctx) { - // FIXME ; segfault if ever called - static ConfigProxy* dummy = nullptr; - return *dummy; + return crimson::common::local_conf(); } const object_info_t& cls_get_object_info(cls_method_context_t hctx) { - // FIXME ; segfault if ever called - static object_info_t* dummy = nullptr; - return *dummy; + return reinterpret_cast(hctx)->get_object_info(); } int cls_get_snapset_seq(cls_method_context_t hctx, uint64_t *snap_seq) diff --git a/src/crimson/osd/ops_executer.h b/src/crimson/osd/ops_executer.h index 0387ef8dc0b5..9a2cd189430c 100644 --- a/src/crimson/osd/ops_executer.h +++ b/src/crimson/osd/ops_executer.h @@ -273,8 +273,11 @@ public: const std::vector& ops); void fill_op_params_bump_pg_version(); + const object_info_t &get_object_info() const { + return obc->obs.oi; + } const hobject_t &get_target() const { - return obc->obs.oi.soid; + return get_object_info().soid; } const auto& get_message() const {