From: Amnon Hanuhov Date: Wed, 11 Aug 2021 16:34:55 +0000 (+0300) Subject: crimson/osd: drop pg_pool_t from OpsExecuter ctor X-Git-Tag: v17.1.0~52^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=59d6f95c7023a43887673a6127a71e281e66aba6;p=ceph.git crimson/osd: drop pg_pool_t from OpsExecuter ctor OpsExecuter now holds a Ref so the pool info can be extracted from it using get_pool().info Signed-off-by: Amnon Hanuhov --- diff --git a/src/crimson/osd/ops_executer.cc b/src/crimson/osd/ops_executer.cc index e5f801a99b12..f947a4fab44b 100644 --- a/src/crimson/osd/ops_executer.cc +++ b/src/crimson/osd/ops_executer.cc @@ -616,6 +616,11 @@ OpsExecuter::execute_op(OSDOp& osd_op) } } +// Defined here because there is a circular dependency between OpsExecuter and PG +uint32_t OpsExecuter::get_pool_stripe_width() const { + return pg->get_pool().info.get_stripe_width(); +} + static inline std::unique_ptr get_pgls_filter( const std::string& type, bufferlist::const_iterator& iter) diff --git a/src/crimson/osd/ops_executer.h b/src/crimson/osd/ops_executer.h index d84d43ad712b..d3317d150e27 100644 --- a/src/crimson/osd/ops_executer.h +++ b/src/crimson/osd/ops_executer.h @@ -154,7 +154,6 @@ private: Ref pg; // for the sake of object class ObjectContextRef obc; const OpInfo& op_info; - const pg_pool_t& pool_info; // for the sake of the ObjClass API PGBackend& backend; ceph::static_ptr)> msg; @@ -240,13 +239,11 @@ public: OpsExecuter(Ref pg, ObjectContextRef obc, const OpInfo& op_info, - const pg_pool_t& pool_info, PGBackend& backend, const MsgT& msg) : pg(std::move(pg)), obc(std::move(obc)), op_info(op_info), - pool_info(pool_info), backend(backend), msg(std::in_place_type_t>{}, &msg) { } @@ -279,9 +276,7 @@ public: return num_read + num_write; } - uint32_t get_pool_stripe_width() const { - return pool_info.get_stripe_width(); - } + uint32_t get_pool_stripe_width() const; bool has_seen_write() const { return num_write > 0; diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index 7fd940f1e76a..2e4b0a5300e7 100644 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@ -750,7 +750,7 @@ PG::do_osd_ops( } return do_osd_ops_execute>( seastar::make_lw_shared( - Ref{this}, std::move(obc), op_info, *m), + Ref{this}, std::move(obc), op_info, get_backend(), *m), m->ops, op_info, [this, m, rvec = op_info.allows_returnvec()] { @@ -794,7 +794,7 @@ PG::do_osd_ops( { return do_osd_ops_execute( seastar::make_lw_shared( - Ref{this}, std::move(obc), op_info, msg_params), + Ref{this}, std::move(obc), op_info, get_backend(), msg_params), ops, std::as_const(op_info), std::move(success_func),