From 14c04fb03d70bda3fb30a980543fe7f717b2e7ca Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rados=C5=82aw=20Zarzy=C5=84ski?= Date: Mon, 9 May 2022 14:43:34 +0200 Subject: [PATCH] crimson/osd, rgw: implement the new Objclass API methods for cls_rgw MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit They were introduced by 3877c1e37f2fa4e1574b57f05132288f210835a7. Signed-off-by: Radosław Zarzyński --- src/crimson/osd/objclass.cc | 9 +++------ src/crimson/osd/ops_executer.h | 5 ++++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/crimson/osd/objclass.cc b/src/crimson/osd/objclass.cc index d4fcbeebdf0..ae3e61b3bc9 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 0387ef8dc0b..9a2cd189430 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 { -- 2.39.5