From: Xiubo Li Date: Thu, 23 Jul 2020 05:11:06 +0000 (+0800) Subject: client: move client_lock to _unmount() X-Git-Tag: wip-pdonnell-testing-20200918.022351~486^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e4900927478be9cf6b265374d320e499cfb207e9;p=ceph-ci.git client: move client_lock to _unmount() Fixes: https://tracker.ceph.com/issues/46682 Signed-off-by: Xiubo Li --- diff --git a/src/client/Client.cc b/src/client/Client.cc index bd55e041001..2395698fafa 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 5199131e251..0c0ac1b359f 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); } };