]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: allow ping through despite synch/quorum status, with session 6105/head
authorSage Weil <sage@redhat.com>
Wed, 30 Sep 2015 01:13:48 +0000 (21:13 -0400)
committerSage Weil <sage@redhat.com>
Mon, 5 Oct 2015 12:37:50 +0000 (08:37 -0400)
Attach sessions to ping messages, too.

Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/Monitor.cc

index 509a881f7e0d709dd84a464c94f1eaf757c07391..f2d7723e3615674aba4368d006a018a688a880e5 100644 (file)
@@ -3414,11 +3414,8 @@ void Monitor::_ms_dispatch(Message *m)
     // assume that the sender hasn't authenticated yet, so we have no way
     // of assessing whether we should handle it or not.
     if (!src_is_mon && (m->get_type() != CEPH_MSG_AUTH &&
-                       m->get_type() != CEPH_MSG_MON_GET_MAP)) {
-      if (m->get_type() == CEPH_MSG_PING) {
-        // let it go through and be dispatched immediately!
-        return dispatch_op(op);
-      }
+                       m->get_type() != CEPH_MSG_MON_GET_MAP &&
+                       m->get_type() != CEPH_MSG_PING)) {
       dout(1) << __func__ << " dropping stray message " << *m
              << " from " << m->get_source_inst() << dendl;
       return;
@@ -3459,7 +3456,8 @@ void Monitor::_ms_dispatch(Message *m)
 
   if ((is_synchronizing() ||
        (s->global_id == 0 && !exited_quorum.is_zero())) &&
-      !src_is_mon) {
+      !src_is_mon &&
+      m->get_type() != CEPH_MSG_PING) {
     waitlist_or_zap_client(op);
   } else {
     dispatch_op(op);