From ca069149654ecd10778cd5327bf59b9643e23967 Mon Sep 17 00:00:00 2001 From: Zhi Zhang Date: Mon, 27 Jun 2016 13:00:26 +0800 Subject: [PATCH] mds: fix shutting down mds timed-out due to deadlock Signed-off-by: Zhi Zhang --- src/mds/MDSRank.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mds/MDSRank.cc b/src/mds/MDSRank.cc index 16a93485b2b43..41b93ad228723 100644 --- a/src/mds/MDSRank.cc +++ b/src/mds/MDSRank.cc @@ -238,7 +238,11 @@ void MDSRankDispatcher::shutdown() progress_thread.shutdown(); // shut down messenger + // release mds_lock first because messenger thread might call + // MDSDaemon::ms_handle_reset which will try to hold mds_lock + mds_lock.Unlock(); messenger->shutdown(); + mds_lock.Lock(); // Workaround unclean shutdown: HeartbeatMap will assert if // worker is not removed (as we do in ~MDS), but ~MDS is not -- 2.39.5