]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore/bluefs: Weaken locks in open_for_write
authorAdam Kupczyk <akupczyk@redhat.com>
Thu, 1 Jul 2021 09:33:20 +0000 (11:33 +0200)
committerAdam Kupczyk <akupczyk@redhat.com>
Fri, 10 Sep 2021 07:53:24 +0000 (09:53 +0200)
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
src/os/bluestore/BlueFS.cc

index 3a3d3d74299e784f068abe49bf127e234fd75d37..ed255cb1b266c40e21ed8ef1490a3322dcd39e3e 100644 (file)
@@ -3434,7 +3434,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<string,DirRef>::iterator p = nodes.dir_map.find(dirname);
   DirRef dir;
@@ -3496,6 +3496,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);