From e4900927478be9cf6b265374d320e499cfb207e9 Mon Sep 17 00:00:00 2001 From: Xiubo Li Date: Thu, 23 Jul 2020 13:11:06 +0800 Subject: [PATCH] client: move client_lock to _unmount() Fixes: https://tracker.ceph.com/issues/46682 Signed-off-by: Xiubo Li --- src/client/Client.cc | 5 +---- src/client/Delegation.cc | 1 - 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index bd55e04100126..2395698fafa97 100755 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -6142,7 +6142,7 @@ void Client::_abort_mds_sessions(int err) void Client::_unmount(bool abort) { - std::unique_lock lock{client_lock, std::adopt_lock}; + std::unique_lock lock{client_lock}; if (unmounting) return; @@ -6278,19 +6278,16 @@ void Client::_unmount(bool abort) mounted = false; - lock.release(); ldout(cct, 2) << "unmounted." << dendl; } void Client::unmount() { - std::lock_guard lock(client_lock); _unmount(false); } void Client::abort_conn() { - std::lock_guard lock(client_lock); _unmount(true); } diff --git a/src/client/Delegation.cc b/src/client/Delegation.cc index 5199131e25109..0c0ac1b359f19 100644 --- a/src/client/Delegation.cc +++ b/src/client/Delegation.cc @@ -20,7 +20,6 @@ public: ": delegation return timeout for inode 0x" << std::hex << in->ino << ". Forcibly unmounting client. "<< client << std::dec << dendl; - std::scoped_lock l(client->client_lock); client->_unmount(false); } }; -- 2.39.5