From: Sage Weil Date: Mon, 23 Nov 2015 13:38:44 +0000 (-0500) Subject: osd: fix reconnect behavior from booting state X-Git-Tag: v10.0.1~26^2~39 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e31b69514a8aafddd0f4e50482d185ddcaa11d5e;p=ceph.git osd: fix reconnect behavior from booting state We don't need to restart the boot process unless we are in preboot; if we are in booting state we just need to resend the boot message. Signed-off-by: Sage Weil --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index cc1755a81b28..f891b5eb9e70 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -4020,7 +4020,6 @@ void OSD::tick() if (is_waiting_for_healthy()) { if (_is_healthy()) { dout(1) << "healthy again, booting" << dendl; - set_state(STATE_BOOTING); start_boot(); } } @@ -4409,8 +4408,10 @@ void OSD::ms_handle_connect(Connection *con) return; dout(10) << "ms_handle_connect on mon" << dendl; - if (is_preboot() || is_booting()) { + if (is_preboot()) { start_boot(); + } else if (is_booting()) { + _send_boot(); // resend boot message } else { utime_t now = ceph_clock_now(NULL); last_mon_report = now;