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 9622020d9b07..7f221dda8516 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())) {