[PATCH 1/2] fuse: don't d_drop() before d_splice_alias()
From: NeilBrown
Date: Mon Sep 28 2026 - 23:31:34 EST
From: NeilBrown <neil@xxxxxxxxxx>
create_new_entry() is used to finalise the creation of various
objects (mknod, mkdir, symlink etc).
It currently uses d_drop() which will be a problem for a proposed
new locking scheme.
d_splice_alias() now works on hashed dentries so the d_drop() isn't
needed. Drop it.
Signed-off-by: NeilBrown <neil@xxxxxxxxxx>
---
fs/fuse/dir.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
index e49b4e874b15..519b4f85618c 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -1031,7 +1031,6 @@ static struct dentry *create_new_entry(struct mnt_idmap *idmap, struct fuse_moun
}
kfree(forget);
- d_drop(entry);
d = d_splice_alias(inode, entry);
if (IS_ERR(d))
return d;
base-commit: 3879f51857325da9bf3cfb073280257cd16ae067
--
2.50.0.107.gf914562f5916.dirty