From: Sage Weil Date: Wed, 24 May 2017 22:40:44 +0000 (-0400) Subject: osd: do_shutdown takes precedence over fetching more maps X-Git-Tag: ses5-milestone6~8^2~19^2~20 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=af2994dcae8f181acd7d930a59647c10b0ecac36;p=ceph.git osd: do_shutdown takes precedence over fetching more maps This is making my osd-markdown.sh test fail reliably. Signed-off-by: Sage Weil --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index d8701169ba9..83b26198c90 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -7777,12 +7777,7 @@ void OSD::_committed_osd_maps(epoch_t first, epoch_t last, MOSDMap *m) activate_map(); } - if (m->newest_map && m->newest_map > last) { - dout(10) << " msg say newest map is " << m->newest_map - << ", requesting more" << dendl; - osdmap_subscribe(osdmap->get_epoch()+1, false); - } - else if (do_shutdown) { + if (do_shutdown) { if (network_error) { Mutex::Locker l(heartbeat_lock); map>::iterator it = @@ -7798,6 +7793,11 @@ void OSD::_committed_osd_maps(epoch_t first, epoch_t last, MOSDMap *m) dout(0) << __func__ << " shutdown OSD via async signal" << dendl; queue_async_signal(SIGINT); } + else if (m->newest_map && m->newest_map > last) { + dout(10) << " msg say newest map is " << m->newest_map + << ", requesting more" << dendl; + osdmap_subscribe(osdmap->get_epoch()+1, false); + } else if (is_preboot()) { if (m->get_source().is_mon()) _preboot(m->oldest_map, m->newest_map);