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 <mbreizma@redhat.com>
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<const PGLSFilter> get_pgls_filter(
const std::string& type,
bufferlist::const_iterator& iter)
const object_info_t prepare_clone(
const hobject_t& coid);
+
+ void apply_stats();
};
template <class Context, class MainFunc, class EffectFunc>
fill_op_params_bump_pg_version();
auto log_entries = prepare_transaction(ops);
make_writeable(log_entries);
+ apply_stats();
auto [submitted, all_completed] = std::forward<MutFunc>(mut_func)(std::move(txn),
std::move(obc),
std::move(*osd_op_params),
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,