From e31b69514a8aafddd0f4e50482d185ddcaa11d5e Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 23 Nov 2015 08:38:44 -0500 Subject: [PATCH] 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 --- src/osd/OSD.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index cc1755a81b281..f891b5eb9e706 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; -- 2.39.5