From: John Spray Date: Mon, 25 Sep 2017 09:44:28 +0000 (+0100) Subject: mon: implement MDSMonitor::get_store_prefixes X-Git-Tag: ses5-deepsea-pr-test~8^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=beb8bcecb4e0c186a53a8ddb05c138115faeb742;p=ceph.git mon: implement MDSMonitor::get_store_prefixes Fixes: http://tracker.ceph.com/issues/21534 Signed-off-by: John Spray (cherry picked from commit a3c317b406c69b9d6a2d7df94806f4c308e6ee6a) (cherry picked from commit 9d8e5d763b173247f95f0769fd52372a8a7a5371) Signed-off-by: Joao Eduardo Luis (cherry picked from commit 9bd33914b8f1c676468db6b57e03b92bb6773e6b) --- diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc index 32a80a7b8b16..e34be99aed3e 100644 --- a/src/mon/MDSMonitor.cc +++ b/src/mon/MDSMonitor.cc @@ -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& s) +{ + s.insert(service_name); + s.insert(MDS_METADATA_PREFIX); + s.insert(MDS_HEALTH_PREFIX); +} void MDSMonitor::update_from_paxos(bool *need_bootstrap) { diff --git a/src/mon/MDSMonitor.h b/src/mon/MDSMonitor.h index c14c9603943c..3d84f92a811f 100644 --- a/src/mon/MDSMonitor.h +++ b/src/mon/MDSMonitor.h @@ -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& s) override; void update_from_paxos(bool *need_bootstrap) override; void init() override; void create_pending() override;