[PATCH 40/53] gfs2: stop using d_add().
NeilBrown
neilb at ownmail.net
Thu Mar 12 14:12:27 PDT 2026
From: NeilBrown <neil at brown.name>
"Best practice" is to use d_splice_alias() at the end of a ->lookup
function. d_add() often works and is not incorrect in gfs2, as the
inode is always NULL, but as it is planned to remove d_add(), change to
use d_splice_alias().
Signed-off-by: NeilBrown <neil at brown.name>
---
fs/gfs2/inode.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 8344040ecaf7..9997fbc1084c 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -988,10 +988,9 @@ static struct dentry *__gfs2_lookup(struct inode *dir, struct dentry *dentry,
int error;
inode = gfs2_lookupi(dir, &dentry->d_name, 0);
- if (inode == NULL) {
- d_add(dentry, NULL);
- return NULL;
- }
+ if (inode == NULL)
+ return d_splice_alias(NULL, dentry);
+
if (IS_ERR(inode))
return ERR_CAST(inode);
--
2.50.0.107.gf914562f5916.dirty
More information about the linux-afs
mailing list