From: Sage Weil Date: Sun, 5 Jan 2014 06:40:43 +0000 (-0800) Subject: osd: ignore OSDMap messages while we are initializing X-Git-Tag: v0.75~6^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f68de9f352d53e431b1108774e4a23adb003fe3f;p=ceph.git osd: ignore OSDMap messages while we are initializing The mon may occasionally send OSDMap messages to random OSDs, but is not very descriminating in that we may not have authenticated yet. Ignore any messages if that is the case; we will reqeust whatever we need during the BOOTING state. Fixes: #7093 Signed-off-by: Sage Weil --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 9622020d9b0..7f221dda851 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -5030,6 +5030,11 @@ void OSD::handle_osd_map(MOSDMap *m) m->put(); return; } + if (is_initializing()) { + dout(0) << "ignoring osdmap until we have initialized" << dendl; + m->put(); + return; + } Session *session = static_cast(m->get_connection()->get_priv()); if (session && !(session->entity_name.is_mon() || session->entity_name.is_osd())) {