summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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();
}