mon/PaxosService.cc \
mon/OSDMonitor.cc \
mon/MDSMonitor.cc \
+ mon/MonmapMonitor.cc \
mon/ClientMonitor.cc \
mon/PGMonitor.cc \
mon/LogMonitor.cc \
mon/Elector.h\
mon/LogMonitor.h\
mon/MDSMonitor.h\
+ mon/MonmapMonitor.h\
mon/MonClient.h\
mon/MonMap.h\
mon/Monitor.h\
#include "OSDMonitor.h"
#include "MDSMonitor.h"
+#include "MonmapMonitor.h"
#include "ClientMonitor.h"
#include "PGMonitor.h"
#include "LogMonitor.h"
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));
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]; }
friend class Paxos;
friend class OSDMonitor;
friend class MDSMonitor;
+ friend class MonmapMonitor;
friend class ClientMonitor;
friend class PGMonitor;
friend class LogMonitor;
#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";