From: Sage Weil Date: Mon, 21 Jul 2014 04:14:04 +0000 (-0700) Subject: osdc/Objecter: ignore messenger events before or after initalized X-Git-Tag: v0.86~213^2~57 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=56689419a908eeba694eec19b1151df2f44bfe51;p=ceph.git osdc/Objecter: ignore messenger events before or after initalized Signed-off-by: Sage Weil --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index a19f5748b015..8ca3143e2474 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -493,6 +493,9 @@ void Objecter::_linger_submit(LingerOp *info) bool Objecter::ms_dispatch(Message *m) { ldout(cct, 10) << __func__ << " " << cct << " " << *m << dendl; + if (!initialized.read()) + return false; + switch (m->get_type()) { // these we exlusively handle case CEPH_MSG_OSD_OPREPLY: @@ -3123,12 +3126,17 @@ void Objecter::_sg_read_finish(vector& extents, vector void Objecter::ms_handle_connect(Connection *con) { ldout(cct, 10) << "ms_handle_connect " << con << dendl; + if (!initialized.read()) + return; + if (con->get_peer_type() == CEPH_ENTITY_TYPE_MON) resend_mon_ops(); } bool Objecter::ms_handle_reset(Connection *con) { + if (!initialized.read()) + return false; if (con->get_peer_type() == CEPH_ENTITY_TYPE_OSD) { // int osd = osdmap->identify_osd(con->get_peer_addr()); @@ -3169,6 +3177,8 @@ bool Objecter::ms_get_authorizer(int dest_type, AuthAuthorizer **authorizer, bool force_new) { + if (!initialized.read()) + return false; if (dest_type == CEPH_ENTITY_TYPE_MON) return true; *authorizer = monc->auth->build_authorizer(dest_type);