]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/Monitor: forward-declare class MonMap
authorMax Kellermann <max.kellermann@ionos.com>
Mon, 8 Sep 2025 17:39:04 +0000 (19:39 +0200)
committerMax Kellermann <max.kellermann@ionos.com>
Tue, 16 Sep 2025 10:42:05 +0000 (12:42 +0200)
Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
src/mon/Monitor.cc
src/mon/Monitor.h

index 41ba96b0cde05ad05ffad298bc4cd1f8c8ed6d1e..7d3ca60e83009588ea749b17615b5a0590c2f116 100644 (file)
@@ -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<std::string> Monitor::get_quorum_names() {
+  std::list<std::string> 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<DaemonHealthMetric> 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;
index 400a411e1cd6057aa33f987dfd8404a393f07c59..b73e6cc73f673cbfd45a1cfa3318fd32a65322ae 100644 (file)
@@ -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<int>& get_quorum() const { return quorum; }
-  std::list<std::string> get_quorum_names() {
-    std::list<std::string> q;
-    for (auto p = quorum.begin(); p != quorum.end(); ++p)
-      q.push_back(monmap->get_name(*p));
-    return q;
-  }
+  std::list<std::string> 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();