From 0aacd10e2557c55021b5be72ddf39b9cea916be4 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Thu, 8 Aug 2013 15:12:46 -0700 Subject: [PATCH] RadosClient: shutdown monclient after dropping lock Otherwise, the monclient shutdown may deadlock waiting on a context trying to take the RadosClient lock. Fixes: #5897 Signed-off-by: Samuel Just Reviewed-by: Sage Weil --- src/librados/RadosClient.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc index e8dd019af3a28..48b6a3cabf60f 100644 --- a/src/librados/RadosClient.cc +++ b/src/librados/RadosClient.cc @@ -229,7 +229,6 @@ void librados::RadosClient::shutdown() if (state == CONNECTED) { finisher.stop(); } - monclient.shutdown(); bool need_objecter = false; if (objecter && state == CONNECTED) { need_objecter = true; @@ -238,6 +237,7 @@ void librados::RadosClient::shutdown() state = DISCONNECTED; timer.shutdown(); // will drop+retake lock lock.Unlock(); + monclient.shutdown(); if (need_objecter) objecter->shutdown_unlocked(); if (messenger) { -- 2.39.5