From c769d2a80c3e5b5a7a382437c8ecd987f893bee1 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Mon, 4 Jul 2022 09:48:18 +0000 Subject: [PATCH] crimson/osd: apply stats after make_writeable make_writeable keeps track of few stats counters (e.g num_object_clones). Therfore, we should apply the stats after it. Signed-off-by: Matan Breizman --- src/crimson/osd/ops_executer.cc | 6 ++++++ src/crimson/osd/ops_executer.h | 3 +++ src/crimson/osd/pg.cc | 2 -- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/crimson/osd/ops_executer.cc b/src/crimson/osd/ops_executer.cc index df91f9bdfa1..7a9064de99d 100644 --- a/src/crimson/osd/ops_executer.cc +++ b/src/crimson/osd/ops_executer.cc @@ -832,6 +832,12 @@ const object_info_t OpsExecuter::prepare_clone( return static_snap_oi; } +void OpsExecuter::apply_stats() +{ + pg->get_peering_state().apply_op_stats(get_target(), delta_stats); + pg->publish_stats_to_osd(); +} + 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 0fdce7cefd7..58bdcba1419 100644 --- a/src/crimson/osd/ops_executer.h +++ b/src/crimson/osd/ops_executer.h @@ -324,6 +324,8 @@ public: const object_info_t prepare_clone( const hobject_t& coid); + + void apply_stats(); }; template @@ -381,6 +383,7 @@ OpsExecuter::flush_changes_n_do_ops_effects( fill_op_params_bump_pg_version(); auto log_entries = prepare_transaction(ops); make_writeable(log_entries); + apply_stats(); auto [submitted, all_completed] = std::forward(mut_func)(std::move(txn), std::move(obc), std::move(*osd_op_params), diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index da72e3d2b56..92f9e8b6e46 100644 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@ -648,8 +648,6 @@ PG::do_osd_ops_execute( crimson::ct_error::eagain::make())); } } - - peering_state.apply_op_stats(ox->get_target(), ox->get_stats()); return std::move(*ox).flush_changes_n_do_ops_effects(ops, [this] (auto&& txn, auto&& obc, -- 2.39.5