From eb5c02df634b34ca45ecbf1eaf4440ccf806845f Mon Sep 17 00:00:00 2001 From: Brad Hubbard Date: Wed, 17 May 2017 13:28:26 +1000 Subject: [PATCH] mgr: Mark session connections down on shutdown Also assert in OSD::ms_get_authorizer since it is dangerous to proceed if we are shutting down. Fixes: http://tracker.ceph.com/issues/19900 Signed-off-by: Brad Hubbard --- src/mgr/MgrClient.cc | 5 ++++- src/osd/OSD.cc | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mgr/MgrClient.cc b/src/mgr/MgrClient.cc index 2f558c0614a..45d2707af25 100644 --- a/src/mgr/MgrClient.cc +++ b/src/mgr/MgrClient.cc @@ -59,7 +59,10 @@ void MgrClient::shutdown() command_table.clear(); timer.shutdown(); - session.reset(); + if (session) { + session->con->mark_down(); + session.reset(); + } } bool MgrClient::ms_dispatch(Message *m) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 4397b8dad0f..b227bff0f43 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -6655,6 +6655,9 @@ bool OSD::ms_get_authorizer(int dest_type, AuthAuthorizer **authorizer, bool for { dout(10) << "OSD::ms_get_authorizer type=" << ceph_entity_type_name(dest_type) << dendl; + if (is_stopping()) + dout(10) << __func__ << " bailing, we are shutting down" << dendl; + if (dest_type == CEPH_ENTITY_TYPE_MON) return true; -- 2.47.3