From 755ec735107c75156ae4935f7255bbfe5dc384d9 Mon Sep 17 00:00:00 2001 From: huanwen ren Date: Mon, 25 Sep 2017 14:55:55 +0800 Subject: [PATCH 1/3] mon/osd_metadata: sync osd_metadata table sync osd_metadata table to new mons when add new mons Signed-off-by: huanwen ren --- src/mon/OSDMonitor.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 09082b64f7e..1fd2b2f9e3a 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -268,6 +268,7 @@ void OSDMonitor::get_store_prefixes(std::set& s) const { s.insert(service_name); s.insert(OSD_PG_CREATING_PREFIX); + s.insert(OSD_METADATA_PREFIX); } void OSDMonitor::update_from_paxos(bool *need_bootstrap) From 889ac5166ad8fd30678325ddc2da59f45db53f06 Mon Sep 17 00:00:00 2001 From: John Spray Date: Mon, 25 Sep 2017 10:37:18 +0100 Subject: [PATCH 2/3] mon/OSDMonitor: tidy prefix definitions We should define them in one place to make it easy when updating get_store_prefixes. Fixes: http://tracker.ceph.com/issues/21534 Signed-off-by: John Spray --- src/mon/OSDMonitor.cc | 3 ++- src/mon/OSDMonitor.h | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 1fd2b2f9e3a..8011c6b7460 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -80,7 +80,8 @@ #include #define dout_subsys ceph_subsys_mon -#define OSD_PG_CREATING_PREFIX "osd_pg_creating" +static const string OSD_PG_CREATING_PREFIX("osd_pg_creating"); +static const string OSD_METADATA_PREFIX("osd_metadata"); namespace { diff --git a/src/mon/OSDMonitor.h b/src/mon/OSDMonitor.h index ea81b6e9f18..29814df0b51 100644 --- a/src/mon/OSDMonitor.h +++ b/src/mon/OSDMonitor.h @@ -43,8 +43,6 @@ class MOSDMap; #include "erasure-code/ErasureCodeInterface.h" #include "mon/MonOpRequest.h" -#define OSD_METADATA_PREFIX "osd_metadata" - /// information about a particular peer's failure reports for one osd struct failure_reporter_t { utime_t failed_since; ///< when they think it failed From a3c317b406c69b9d6a2d7df94806f4c308e6ee6a Mon Sep 17 00:00:00 2001 From: John Spray Date: Mon, 25 Sep 2017 10:44:28 +0100 Subject: [PATCH 3/3] mon: implement MDSMonitor::get_store_prefixes Fixes: http://tracker.ceph.com/issues/21534 Signed-off-by: John Spray --- src/mon/MDSMonitor.cc | 13 ++++++++++--- src/mon/MDSMonitor.h | 3 +-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc index 028a4a45b07..bae812a95da 100644 --- a/src/mon/MDSMonitor.cc +++ b/src/mon/MDSMonitor.cc @@ -48,6 +48,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 @@ -70,9 +74,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) @@ -88,6 +89,12 @@ void MDSMonitor::create_initial() dout(10) << "create_initial" << dendl; } +void MDSMonitor::get_store_prefixes(std::set& s) const +{ + 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 1275a5a7f5c..afaaa7e72ca 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) const override; void update_from_paxos(bool *need_bootstrap) override; void init() override; void create_pending() override;