From e1abc7fad30fd49d87f1d76a5d1e122a862d9db4 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 16 Dec 2008 11:25:21 -0800 Subject: [PATCH] mds: add logclient --- src/mds/MDS.cc | 23 +++++++++++++---------- src/mds/MDS.h | 4 +++- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index 020345e5fae..bd33aa144ae 100644 --- a/src/mds/MDS.cc +++ b/src/mds/MDS.cc @@ -71,18 +71,17 @@ // cons/des -MDS::MDS(int whoami, Messenger *m, MonMap *mm) : +MDS::MDS(int whoami_, Messenger *m, MonMap *mm) : mds_lock("MDS::mds_lock"), - timer(mds_lock), + timer(mds_lock), + whoami(whoami_), + messenger(m), + monmap(mm), + logclient(messenger, monmap), sessionmap(this) { - this->whoami = whoami; - last_tid = 0; - monmap = mm; - messenger = m; - mdsmap = new MDSMap; osdmap = new OSDMap; @@ -119,9 +118,6 @@ MDS::MDS(int whoami, Messenger *m, MonMap *mm) : want_state = state = MDSMap::STATE_DNE; logger = logger2 = 0; - - // i'm ready! - messenger->set_dispatcher(this); } MDS::~MDS() { @@ -361,6 +357,10 @@ int MDS::init(bool standby) // schedule tick reset_tick(); + // i'm ready! + messenger->set_dispatcher(this); + link_dispatcher(&logclient); + mds_lock.Unlock(); return 0; } @@ -382,6 +382,8 @@ void MDS::tick() // reschedule reset_tick(); + logclient.send_log(); + if (laggy) return; @@ -1090,6 +1092,7 @@ void MDS::suicide() objecter->shutdown(); // shut down messenger + unlink_dispatcher(&logclient); messenger->shutdown(); } diff --git a/src/mds/MDS.h b/src/mds/MDS.h index 030ec239617..4264dcdb728 100644 --- a/src/mds/MDS.h +++ b/src/mds/MDS.h @@ -27,6 +27,7 @@ #include "common/Mutex.h" #include "common/Cond.h" #include "common/Timer.h" +#include "common/LogClient.h" #include "mon/MonMap.h" #include "MDSMap.h" @@ -82,11 +83,12 @@ class MDS : public Dispatcher { public: Messenger *messenger; - MDSMap *mdsmap; MonMap *monmap; + MDSMap *mdsmap; OSDMap *osdmap; Objecter *objecter; Filer *filer; // for reading/writing to/from osds + LogClient logclient; // sub systems Server *server; -- 2.47.3