summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Farnum <greg@inktank.com>2013-04-26 15:27:39 -0700
committerGreg Farnum <greg@inktank.com>2013-04-26 15:27:51 -0700
commit0650fa956ac1349dd1010c9223b82c762e15a7c0 (patch)
tree9e84a59da9d6722ab6055f468e64d53f2cc7b4bb
parent1e6f02b337767012aeb387da9582cd7ad5a03084 (diff)
downloadceph-0650fa956ac1349dd1010c9223b82c762e15a7c0.tar.gz
monitor: assert out early if we get our own sync_start back
Signed-off-by: Greg Farnum <greg@inktank.com>
-rw-r--r--src/mon/Monitor.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc
index 0b4a44f1649..739f9b9d182 100644
--- a/src/mon/Monitor.cc
+++ b/src/mon/Monitor.cc
@@ -764,6 +764,13 @@ void Monitor::handle_sync_start(MMonSync *m)
{
dout(10) << __func__ << " " << *m << dendl;
+ /**
+ * This looks a bit odd, but we've seen cases where sync start messages
+ * get bounced around and end up at the originator without anybody
+ * noticing!
+ */
+ assert(m->reply_to != messenger->get_myinst());
+
/* If we are not the leader, then some monitor picked us as the point of
* entry to the quorum during its synchronization process. Therefore, we
* have an obligation of forwarding this message to leader, so the sender