#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"
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<crimson::osd::OpsExecuter*>(hctx)->get_object_info();
}
int cls_get_snapset_seq(cls_method_context_t hctx, uint64_t *snap_seq)
const std::vector<OSDOp>& 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 {