From 64fa21e7266dbe9056dfec213d7302150296e5a4 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Wed, 5 Jun 2019 10:54:21 +0800 Subject: [PATCH] osdc/Objecter: move Objecter::Objecter() into .cc to speed up compilation. Signed-off-by: Kefu Chai --- src/osdc/Objecter.cc | 16 ++++++++++++++++ src/osdc/Objecter.h | 45 +++++++++++++------------------------------- 2 files changed, 29 insertions(+), 32 deletions(-) diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index cd5cbbee7f4..f8564c7d2eb 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -4955,6 +4955,22 @@ Objecter::OSDSession::~OSDSession() ceph_assert(command_ops.empty()); } +Objecter::Objecter(CephContext *cct_, Messenger *m, MonClient *mc, + Finisher *fin, + double mon_timeout, + double osd_timeout) : + Dispatcher(cct_), messenger(m), monc(mc), finisher(fin), + trace_endpoint("0.0.0.0", 0, "Objecter"), + osdmap{std::make_unique()}, + homeless_session(new OSDSession(cct, -1)), + mon_timeout(ceph::make_timespan(mon_timeout)), + osd_timeout(ceph::make_timespan(osd_timeout)), + op_throttle_bytes(cct, "objecter_bytes", + cct->_conf->objecter_inflight_op_bytes), + op_throttle_ops(cct, "objecter_ops", cct->_conf->objecter_inflight_ops), + retry_writes_after_first_reply(cct->_conf->objecter_retry_writes_after_first_reply) +{} + Objecter::~Objecter() { ceph_assert(homeless_session->get_nref() == 1); diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index b31c691deaf..be0bedcf602 100644 --- a/src/osdc/Objecter.h +++ b/src/osdc/Objecter.h @@ -41,12 +41,10 @@ #include "messages/MOSDOp.h" #include "msg/Dispatcher.h" -#include "osd/OSDMap.h" - +#include "osd/OSDMap.h" // for OSDMap::snap_interval_set_t class Context; class Messenger; -class OSDMap; class MonClient; class Message; class Finisher; @@ -1239,16 +1237,16 @@ private: std::atomic last_tid{0}; std::atomic inflight_ops{0}; std::atomic client_inc{-1}; - uint64_t max_linger_id; + uint64_t max_linger_id{0}; std::atomic num_in_flight{0}; std::atomic global_op_flags{0}; // flags which are applied to each IO op - bool keep_balanced_budget; - bool honor_osdmap_full; - bool osdmap_full_try; + bool keep_balanced_budget = false; + bool honor_osdmap_full = true; + bool osdmap_full_try = false; // If this is true, accumulate a set of blacklisted entities // to be drained by consume_blacklist_events. - bool blacklist_events_enabled; + bool blacklist_events_enabled = false; std::set blacklist_events; public: @@ -1259,8 +1257,8 @@ private: void _maybe_request_map(); - version_t last_seen_osdmap_version; - version_t last_seen_pgmap_version; + version_t last_seen_osdmap_version = 0; + version_t last_seen_pgmap_version = 0; mutable std::shared_mutex rwlock; using lock_guard = std::lock_guard; @@ -1269,9 +1267,9 @@ private: using shunique_lock = ceph::shunique_lock; ceph::timer timer; - PerfCounters *logger; + PerfCounters *logger = nullptr; - uint64_t tick_event; + uint64_t tick_event = 0; void start_tick(); void tick(); @@ -1279,7 +1277,7 @@ private: class RequestStateHook; - RequestStateHook *m_request_state_hook; + RequestStateHook *m_request_state_hook = nullptr; public: /*** track pending operations ***/ @@ -2038,24 +2036,7 @@ private: Objecter(CephContext *cct_, Messenger *m, MonClient *mc, Finisher *fin, double mon_timeout, - double osd_timeout) : - Dispatcher(cct_), messenger(m), monc(mc), finisher(fin), - trace_endpoint("0.0.0.0", 0, "Objecter"), - osdmap{std::make_unique()}, - max_linger_id(0), - keep_balanced_budget(false), honor_osdmap_full(true), osdmap_full_try(false), - blacklist_events_enabled(false), - last_seen_osdmap_version(0), last_seen_pgmap_version(0), - logger(NULL), tick_event(0), m_request_state_hook(NULL), - homeless_session(new OSDSession(cct, -1)), - mon_timeout(ceph::make_timespan(mon_timeout)), - osd_timeout(ceph::make_timespan(osd_timeout)), - op_throttle_bytes(cct, "objecter_bytes", - cct->_conf->objecter_inflight_op_bytes), - op_throttle_ops(cct, "objecter_ops", cct->_conf->objecter_inflight_ops), - epoch_barrier(0), - retry_writes_after_first_reply(cct->_conf->objecter_retry_writes_after_first_reply) - { } + double osd_timeout); ~Objecter() override; void init(); @@ -3070,7 +3051,7 @@ public: void blacklist_self(bool set); private: - epoch_t epoch_barrier; + epoch_t epoch_barrier = 0; bool retry_writes_after_first_reply; public: void set_epoch_barrier(epoch_t epoch); -- 2.39.5