summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoao Eduardo Luis <joao.luis@inktank.com>2013-04-22 15:00:16 +0100
committerJoao Eduardo Luis <joao.luis@inktank.com>2013-04-22 15:14:28 +0100
commit6607ae9462b800417d6b0e5e5d9f75e71b6a4f08 (patch)
tree4c449218eb71b37207cd01e46afcb53e02e58597
parent9098caf0b4a913fb81b42739c0bde547dd6fc919 (diff)
downloadceph-wip-4748.tar.gz
mon: Monitor: ignore all not-sync-related messages during syncwip-4748
Fixes: #4748 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
-rw-r--r--src/mon/Monitor.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc
index f765e7ac093..63d32bf5bfa 100644
--- a/src/mon/Monitor.cc
+++ b/src/mon/Monitor.cc
@@ -3034,6 +3034,12 @@ bool Monitor::_ms_dispatch(Message *m)
if (s)
dout(20) << " caps " << s->caps.get_str() << dendl;
+ if (is_synchronizing() && m->get_type() != MSG_MON_SYNC) {
+ dout(10) << " we're synchronizing -- drop message" << dendl;
+ m->put();
+ goto out;
+ }
+
{
switch (m->get_type()) {
@@ -3194,6 +3200,8 @@ bool Monitor::_ms_dispatch(Message *m)
ret = false;
}
}
+
+out:
if (s) {
s->put();
}