From: Kefu Chai Date: Mon, 15 May 2017 13:46:32 +0000 (+0800) Subject: mon: remove last trace of PGMap from MgrMonitor X-Git-Tag: ses5-milestone6~8^2~19^2~97 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fe40e26337edc05311d708264577d39a5980fdb9;p=ceph.git mon: remove last trace of PGMap from MgrMonitor Signed-off-by: Kefu Chai --- diff --git a/src/mon/MgrMonitor.cc b/src/mon/MgrMonitor.cc index 761d2378874c..f1ce7f534475 100644 --- a/src/mon/MgrMonitor.cc +++ b/src/mon/MgrMonitor.cc @@ -16,7 +16,6 @@ #include "messages/MMgrDigest.h" #include "messages/MMonMgrReport.h" -#include "PGMap.h" #include "PGStatService.h" #include "include/stringify.h" #include "mgr/MgrContext.h" @@ -35,7 +34,7 @@ static ostream& _prefix(std::ostream *_dout, Monitor *mon, } -class MgrPGStatService : public PGMap, public PGStatService { +class MgrPGStatService : public PGStatService { PGMapDigest digest; public: void decode_digest(bufferlist& bl) { @@ -674,15 +673,11 @@ void MgrMonitor::on_shutdown() cancel_timer(); } -MgrMonitor::~MgrMonitor() -{ - delete pgservice; -} PGStatService *MgrMonitor::get_pg_stat_service() { if (!pgservice) { - pgservice = new MgrPGStatService(); + pgservice.reset(new MgrPGStatService()); } - return pgservice; + return pgservice.get(); } diff --git a/src/mon/MgrMonitor.h b/src/mon/MgrMonitor.h index f53f5b08f6a5..d14d400ab1d2 100644 --- a/src/mon/MgrMonitor.h +++ b/src/mon/MgrMonitor.h @@ -28,7 +28,7 @@ class MgrMonitor: public PaxosService utime_t first_seen_inactive; - MgrPGStatService *pgservice = nullptr; + std::unique_ptr pgservice; std::map last_beacon; @@ -50,9 +50,8 @@ class MgrMonitor: public PaxosService public: MgrMonitor(Monitor *mn, Paxos *p, const string& service_name) : PaxosService(mn, p, service_name) - : PaxosService(mn, p, service_name) {} - ~MgrMonitor() override; + ~MgrMonitor() override {} void init() override; void on_shutdown() override;