bcachefs: Use drop_locks_do() in bch2_inode_hash_find()
authorKent Overstreet <kent.overstreet@linux.dev>
Sun, 13 Apr 2025 12:20:47 +0000 (08:20 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Thu, 22 May 2025 00:14:16 +0000 (20:14 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/fs.c

index 672326693f733ceb372ad9b3f62934c13d26e75c..17a27d6d8c9d3c79d1ad909b06336f57258c403f 100644 (file)
@@ -352,9 +352,8 @@ repeat:
                        if (!trans) {
                                __wait_on_freeing_inode(c, inode, inum);
                        } else {
-                               bch2_trans_unlock(trans);
-                               __wait_on_freeing_inode(c, inode, inum);
-                               int ret = bch2_trans_relock(trans);
+                               int ret = drop_locks_do(trans,
+                                               (__wait_on_freeing_inode(c, inode, inum), 0));
                                if (ret)
                                        return ERR_PTR(ret);
                        }