ovl: use d_splice_alias() in place of d_add() in lookup
authorAmir Goldstein <amir73il@gmail.com>
Fri, 29 Sep 2017 18:43:07 +0000 (21:43 +0300)
committerMiklos Szeredi <mszeredi@redhat.com>
Wed, 24 Jan 2018 10:25:57 +0000 (11:25 +0100)
This is required for NFS export.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/namei.c

index d69ea0a385f6df698edf30ae97d8cb34593895d3..9d3ccbd95dde3674c963a9090a24488f82b5d014 100644 (file)
@@ -982,9 +982,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
        dput(index);
        kfree(stack);
        kfree(d.redirect);
-       d_add(dentry, inode);
-
-       return NULL;
+       return d_splice_alias(inode, dentry);
 
 out_free_oe:
        dentry->d_fsdata = NULL;