[PATCH 40/53] gfs2: stop using d_add().
NeilBrown <[email protected]>
| Newsgroups | gmane.comp.file-systems.ecryptfs.general,gmane.linux.file-systems,gmane.linux.nfs,gmane.linux.file-systems.union,gmane.linux.kernel.mm,gmane.linux.kernel.cifs,gmane.comp.file-systems.ext4,gmane.linux.kernel,gmane.comp.file-systems.ceph.devel,gmane.linux.uml.devel,gmane.linux.kernel.efi |
|---|---|
| Message-ID | <[email protected]> |
From: NeilBrown <[email protected]> "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 <[email protected]> --- 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