From: Radoslaw Zarzynski Date: Fri, 20 Nov 2020 13:42:33 +0000 (+0100) Subject: crimson: OpsExecuter stores only const reference to MOSDOp. X-Git-Tag: v16.1.0~529^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d10d267224d6c88dbd3fc0c7c9a37ecbb33d401a;p=ceph.git crimson: OpsExecuter stores only const reference to MOSDOp. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/osd/ops_executer.h b/src/crimson/osd/ops_executer.h index b05a99911594..d7e6c6980154 100644 --- a/src/crimson/osd/ops_executer.h +++ b/src/crimson/osd/ops_executer.h @@ -87,7 +87,7 @@ private: const OpInfo& op_info; const pg_pool_t& pool_info; // for the sake of the ObjClass API PGBackend& backend; - Ref msg; + const MOSDOp& msg; std::optional osd_op_params; bool user_modify = false; ceph::os::Transaction txn; @@ -170,12 +170,12 @@ public: const OpInfo& op_info, const pg_pool_t& pool_info, PGBackend& backend, - Ref msg) + const MOSDOp& msg) : obc(std::move(obc)), op_info(op_info), pool_info(pool_info), backend(backend), - msg(std::move(msg)) { + msg(msg) { } osd_op_errorator::future<> execute_op(class OSDOp& osd_op); @@ -184,7 +184,7 @@ public: osd_op_errorator::future<> flush_changes(Func&& func, MutFunc&& mut_func) &&; const auto& get_message() const { - return *msg; + return msg; } size_t get_processed_rw_ops_num() const { diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index 2b17b37d3c42..effadd778b78 100644 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@ -625,7 +625,7 @@ seastar::future> PG::do_osd_ops( const auto oid = m->get_snapid() == CEPH_SNAPDIR ? m->get_hobj().get_head() : m->get_hobj(); auto ox = std::make_unique( - obc, op_info, get_pool().info, get_backend(), m); + obc, op_info, get_pool().info, get_backend(), *m); return crimson::do_for_each( m->ops, [obc, m, ox = ox.get()](OSDOp& osd_op) { logger().debug(