From: Max Kellermann Date: Mon, 8 Sep 2025 17:39:04 +0000 (+0200) Subject: mon/Monitor: forward-declare class MonMap X-Git-Tag: v21.0.0~50^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a472bd55b299d690dcf043d09e34729612cf37a3;p=ceph.git mon/Monitor: forward-declare class MonMap Signed-off-by: Max Kellermann --- diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 41ba96b0cde..7d3ca60e830 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -37,6 +37,7 @@ #include "osd/OSDMap.h" #include "MonitorDBStore.h" +#include "MonMap.h" #include "Paxos.h" #include "messages/PaxosServiceMessage.h" @@ -2289,6 +2290,21 @@ epoch_t Monitor::get_epoch() return elector.get_epoch(); } +std::string Monitor::get_leader_name() { + return quorum.empty() ? std::string() : monmap->get_name(leader); +} + +std::list Monitor::get_quorum_names() { + std::list q; + for (auto p = quorum.begin(); p != quorum.end(); ++p) + q.push_back(monmap->get_name(*p)); + return q; +} + +mon_feature_t Monitor::get_required_mon_features() const { + return monmap->get_required_features(); +} + void Monitor::_finish_svc_election() { ceph_assert(state == STATE_LEADER || state == STATE_PEON); @@ -6113,6 +6129,13 @@ vector Monitor::get_health_metrics() return metrics; } +bool Monitor::is_mon_down() const { + int max = monmap->size(); + int actual = get_quorum().size(); + auto now = ceph::real_clock::now(); + return actual < max && now > monmap->created.to_real_time(); +} + void Monitor::prepare_new_fingerprint(MonitorDBStore::TransactionRef t) { uuid_d nf; diff --git a/src/mon/Monitor.h b/src/mon/Monitor.h index 400a411e1cd..b73e6cc73f6 100644 --- a/src/mon/Monitor.h +++ b/src/mon/Monitor.h @@ -34,7 +34,6 @@ #include "common/Timer.h" #include "health_check.h" -#include "MonMap.h" #include "Elector.h" #include "Session.h" #include "MonCommand.h" @@ -57,6 +56,7 @@ #include "common/WorkQueue.h" class Messenger; +class MonMap; using namespace TOPNSPC::common; @@ -224,12 +224,7 @@ public: return age.count(); } - bool is_mon_down() const { - int max = monmap->size(); - int actual = get_quorum().size(); - auto now = ceph::real_clock::now(); - return actual < max && now > monmap->created.to_real_time(); - } + bool is_mon_down() const; // -- elector -- private: @@ -631,16 +626,9 @@ private: public: epoch_t get_epoch(); int get_leader() const { return leader; } - std::string get_leader_name() { - return quorum.empty() ? std::string() : monmap->get_name(leader); - } + std::string get_leader_name(); const std::set& get_quorum() const { return quorum; } - std::list get_quorum_names() { - std::list q; - for (auto p = quorum.begin(); p != quorum.end(); ++p) - q.push_back(monmap->get_name(*p)); - return q; - } + std::list get_quorum_names(); uint64_t get_quorum_con_features() const { return quorum_con_features; } @@ -650,9 +638,7 @@ public: uint64_t get_required_features() const { return required_features; } - mon_feature_t get_required_mon_features() const { - return monmap->get_required_features(); - } + mon_feature_t get_required_mon_features() const; void apply_quorum_to_compatset_features(); void apply_monmap_to_compatset_features(); void calc_quorum_requirements();