diff options
Diffstat (limited to 'fs/overlayfs/export.c')
| -rw-r--r-- | fs/overlayfs/export.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/overlayfs/export.c b/fs/overlayfs/export.c index 425a94672300..9941ece61a14 100644 --- a/fs/overlayfs/export.c +++ b/fs/overlayfs/export.c @@ -300,12 +300,18 @@ static struct dentry *ovl_obtain_alias(struct super_block *sb,  	struct dentry *dentry;  	struct inode *inode;  	struct ovl_entry *oe; +	struct ovl_inode_params oip = { +		.lowerpath = lowerpath, +		.index = index, +		.numlower = !!lower +	};  	/* We get overlay directory dentries with ovl_lookup_real() */  	if (d_is_dir(upper ?: lower))  		return ERR_PTR(-EIO); -	inode = ovl_get_inode(sb, dget(upper), lowerpath, index, !!lower); +	oip.upperdentry = dget(upper); +	inode = ovl_get_inode(sb, &oip);  	if (IS_ERR(inode)) {  		dput(upper);  		return ERR_CAST(inode);  |