From: Adam Kupczyk Date: Thu, 1 Jul 2021 09:33:20 +0000 (+0200) Subject: os/bluestore/bluefs: Weaken locks in open_for_write X-Git-Tag: v16.2.14~23^2~29 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c30442ad665c5a0cf38f73cf34eedbd67fd35ba3;p=ceph.git os/bluestore/bluefs: Weaken locks in open_for_write Signed-off-by: Adam Kupczyk (cherry picked from commit eac1807cf5f19dd79eb95bcb0cde80c67acb69f8) --- diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 50e6f38e722..c37d95d056a 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -3516,7 +3516,7 @@ int BlueFS::open_for_write( FileWriter **h, bool overwrite) { - std::lock_guard nl(nodes.lock); + std::unique_lock nl(nodes.lock); dout(10) << __func__ << " " << dirname << "/" << filename << dendl; map::iterator p = nodes.dir_map.find(dirname); DirRef dir; @@ -3578,6 +3578,7 @@ int BlueFS::open_for_write( dout(20) << __func__ << " mapping " << dirname << "/" << filename << " vsel_hint " << file->vselector_hint << dendl; + nl.unlock(); { std::lock_guard ll(log.lock); log.t.op_file_update(file->fnode);