From afa15782c4cb9c90f97008b2cb5670f2c099622b Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Mon, 12 Oct 2009 11:29:33 -0700 Subject: [PATCH] LogClient: Add a mon data member and mon selection code. Replaces removed MonMap::pick_mon --- src/common/LogClient.cc | 11 ++++++----- src/common/LogClient.h | 3 ++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/common/LogClient.cc b/src/common/LogClient.cc index f42de364afa..ed02e706357 100644 --- a/src/common/LogClient.cc +++ b/src/common/LogClient.cc @@ -79,11 +79,12 @@ void LogClient::_send_log() return; MLog *log = new MLog(monmap->get_fsid(), log_queue); - int mon; - if (messenger->get_myname().is_mon()) - mon = messenger->get_myname().num(); // if we are a monitor, queue for ourselves - else - mon = monmap->pick_mon(); + if (mon < 0) { + if (messenger->get_myname().is_mon()) + mon = messenger->get_myname().num(); // if we are a monitor, queue for ourselves + else + mon = rand() % monmap->mon_inst.size(); + } dout(10) << "send_log to mon" << mon << dendl; messenger->send_message(log, monmap->get_inst(mon)); diff --git a/src/common/LogClient.h b/src/common/LogClient.h index 51833e12cdd..5309d50f422 100644 --- a/src/common/LogClient.h +++ b/src/common/LogClient.h @@ -31,6 +31,7 @@ class MonMap; class LogClient : public Dispatcher { Messenger *messenger; MonMap *monmap; + int mon; bool ms_dispatch(Message *m); bool is_synchronous; @@ -56,7 +57,7 @@ class LogClient : public Dispatcher { void set_synchronous(bool sync) { is_synchronous = sync; } LogClient(Messenger *m, MonMap *mm) : - messenger(m), monmap(mm), is_synchronous(false), + messenger(m), monmap(mm), mon(-1), is_synchronous(false), log_lock("LogClient::log_lock"), last_log(0) { } };