From 6607ae9462b800417d6b0e5e5d9f75e71b6a4f08 Mon Sep 17 00:00:00 2001 From: Joao Eduardo Luis Date: Mon, 22 Apr 2013 15:00:16 +0100 Subject: mon: Monitor: ignore all not-sync-related messages during sync Fixes: #4748 Signed-off-by: Joao Eduardo Luis --- src/mon/Monitor.cc | 8 ++++++++ 1 file changed, 8 insertions(+) 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(); } -- cgit v1.2.1