]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: Add MonmapMonitor to whole system
authorGreg Farnum <gregf@hq.newdream.net>
Fri, 9 Oct 2009 01:09:18 +0000 (18:09 -0700)
committerGreg Farnum <gregf@hq.newdream.net>
Fri, 9 Oct 2009 23:44:51 +0000 (16:44 -0700)
src/Makefile.am
src/mon/Monitor.cc
src/mon/Monitor.h
src/mon/mon_types.h

index bbe9091891a49f25d412e6136f1f541eefc312dd..702aebd8d0d0957c12d3bb504d78b7d97870c51c 100644 (file)
@@ -318,6 +318,7 @@ libmon_a_SOURCES = \
        mon/PaxosService.cc \
        mon/OSDMonitor.cc \
        mon/MDSMonitor.cc \
+       mon/MonmapMonitor.cc \
        mon/ClientMonitor.cc \
        mon/PGMonitor.cc \
        mon/LogMonitor.cc \
@@ -610,6 +611,7 @@ noinst_HEADERS = \
         mon/Elector.h\
        mon/LogMonitor.h\
         mon/MDSMonitor.h\
+       mon/MonmapMonitor.h\
         mon/MonClient.h\
         mon/MonMap.h\
         mon/Monitor.h\
index b736c761e96994193090bdc4e6635a4c2bb4f45c..d06c30a7916f157aa6dfbccbb7f558488d9769fc 100644 (file)
@@ -45,6 +45,7 @@
 
 #include "OSDMonitor.h"
 #include "MDSMonitor.h"
+#include "MonmapMonitor.h"
 #include "ClientMonitor.h"
 #include "PGMonitor.h"
 #include "LogMonitor.h"
@@ -88,6 +89,7 @@ Monitor::Monitor(int w, MonitorStore *s, Messenger *m, MonMap *map) :
   paxos(PAXOS_NUM), paxos_service(PAXOS_NUM)
 {
   paxos_service[PAXOS_MDSMAP] = new MDSMonitor(this, add_paxos(PAXOS_MDSMAP));
+  paxos_service[PAXOS_MONMAP] = new MonmapMonitor(this, add_paxos(PAXOS_MONMAP));
   paxos_service[PAXOS_OSDMAP] = new OSDMonitor(this, add_paxos(PAXOS_OSDMAP));
   paxos_service[PAXOS_CLIENTMAP] = new ClientMonitor(this, add_paxos(PAXOS_CLIENTMAP));
   paxos_service[PAXOS_PGMAP] = new PGMonitor(this, add_paxos(PAXOS_PGMAP));
index b770b47fa2a6f993dc2c9db3274a6e99b1e817eb..690fa712aece8ed1e9662971a326b6f1a24548a3 100644 (file)
@@ -116,6 +116,7 @@ public:
 
   class PGMonitor *pgmon() { return (class PGMonitor *)paxos_service[PAXOS_PGMAP]; }
   class MDSMonitor *mdsmon() { return (class MDSMonitor *)paxos_service[PAXOS_MDSMAP]; }
+  class MonmapMonitor *monmon() { return (class MonmapMonitor *)paxos_service[PAXOS_MONMAP]; }
   class OSDMonitor *osdmon() { return (class OSDMonitor *)paxos_service[PAXOS_OSDMAP]; }
   class ClientMonitor *clientmon() { return (class ClientMonitor *)paxos_service[PAXOS_CLIENTMAP]; }
   class ClassMonitor *classmon() { return (class ClassMonitor *)paxos_service[PAXOS_CLASS]; }
@@ -123,6 +124,7 @@ public:
   friend class Paxos;
   friend class OSDMonitor;
   friend class MDSMonitor;
+  friend class MonmapMonitor;
   friend class ClientMonitor;
   friend class PGMonitor;
   friend class LogMonitor;
index 0bb6e71e80debf8ed70d21b8c55413239eda257d..4a9bfcf7124360f6fc1658ebd427e697cab3a99b 100644 (file)
 #define PAXOS_LOG        4
 #define PAXOS_CLASS      5
 #define PAXOS_NUM        6
+#define PAXOS_MONMAP     7
 
 inline const char *get_paxos_name(int p) {
   switch (p) {
   case PAXOS_MDSMAP: return "mdsmap";
+  case PAXOS_MONMAP: return "monmap";
   case PAXOS_OSDMAP: return "osdmap";
   case PAXOS_CLIENTMAP: return "clientmap";
   case PAXOS_PGMAP: return "pgmap";