]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: implement MDSMonitor::get_store_prefixes 18621/head
authorJohn Spray <john.spray@redhat.com>
Mon, 25 Sep 2017 09:44:28 +0000 (10:44 +0100)
committerKefu Chai <kchai@redhat.com>
Mon, 30 Oct 2017 12:00:27 +0000 (20:00 +0800)
Fixes: http://tracker.ceph.com/issues/21534
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit a3c317b406c69b9d6a2d7df94806f4c308e6ee6a)

src/mon/MDSMonitor.cc
src/mon/MDSMonitor.h

index 32a80a7b8b16a84d3d783bd4eb3d83d9f0cc71ec..e34be99aed3ef73922fe5baf9d9871e333d64fae 100644 (file)
@@ -49,6 +49,10 @@ static ostream& _prefix(std::ostream *_dout, Monitor *mon, FSMap const& fsmap) {
                << ").mds e" << fsmap.get_epoch() << " ";
 }
 
+static const string MDS_METADATA_PREFIX("mds_metadata");
+static const string MDS_HEALTH_PREFIX("mds_health");
+
+
 /*
  * Specialized implementation of cmd_getval to allow us to parse
  * out strongly-typedef'd types
@@ -71,9 +75,6 @@ template<> bool cmd_getval(CephContext *cct, const cmdmap_t& cmdmap,
   return cmd_getval(cct, cmdmap, k, (int64_t&)val);
 }
 
-static const string MDS_METADATA_PREFIX("mds_metadata");
-
-
 // my methods
 
 void MDSMonitor::print_map(FSMap &m, int dbl)
@@ -89,6 +90,12 @@ void MDSMonitor::create_initial()
   dout(10) << "create_initial" << dendl;
 }
 
+void MDSMonitor::get_store_prefixes(std::set<string>& s)
+{
+  s.insert(service_name);
+  s.insert(MDS_METADATA_PREFIX);
+  s.insert(MDS_HEALTH_PREFIX);
+}
 
 void MDSMonitor::update_from_paxos(bool *need_bootstrap)
 {
index c14c9603943cc25c1a3699f70516f5f6b6f8d6d2..3d84f92a811fc6ec393fd348773942e7d2168f9c 100644 (file)
@@ -34,14 +34,13 @@ class MMDSLoadTargets;
 class MMDSMap;
 class FileSystemCommandHandler;
 
-#define MDS_HEALTH_PREFIX "mds_health"
-
 class MDSMonitor : public PaxosService {
  public:
   MDSMonitor(Monitor *mn, Paxos *p, string service_name);
 
   // service methods
   void create_initial() override;
+  void get_store_prefixes(std::set<string>& s) override;
   void update_from_paxos(bool *need_bootstrap) override;
   void init() override;
   void create_pending() override;