diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2017-09-04 21:42:22 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2017-09-04 21:42:22 +0200 |
commit | 495e642939114478a5237a7d91661ba93b76f15a (patch) | |
tree | 99d9efa957ece9af764956d9ae2532de375351fa /fs | |
parent | 191a3980c6161d40c32e69273e0567615be17001 (diff) | |
download | op-kernel-dev-495e642939114478a5237a7d91661ba93b76f15a.zip op-kernel-dev-495e642939114478a5237a7d91661ba93b76f15a.tar.gz |
vfs: add flags to d_real()
Add a separate flags argument (in addition to the open flags) to control
the behavior of d_real().
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/open.c | 4 | ||||
-rw-r--r-- | fs/overlayfs/super.c | 4 |
2 files changed, 4 insertions, 4 deletions
@@ -96,7 +96,7 @@ long vfs_truncate(const struct path *path, loff_t length) * write access on the upper inode, not on the overlay inode. For * non-overlay filesystems d_real() is an identity function. */ - upperdentry = d_real(path->dentry, NULL, O_WRONLY); + upperdentry = d_real(path->dentry, NULL, O_WRONLY, 0); error = PTR_ERR(upperdentry); if (IS_ERR(upperdentry)) goto mnt_drop_write_and_out; @@ -857,7 +857,7 @@ EXPORT_SYMBOL(file_path); int vfs_open(const struct path *path, struct file *file, const struct cred *cred) { - struct dentry *dentry = d_real(path->dentry, NULL, file->f_flags); + struct dentry *dentry = d_real(path->dentry, NULL, file->f_flags, 0); if (IS_ERR(dentry)) return PTR_ERR(dentry); diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c index c0c02cc..19e89ce 100644 --- a/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c @@ -70,7 +70,7 @@ static int ovl_check_append_only(struct inode *inode, int flag) static struct dentry *ovl_d_real(struct dentry *dentry, const struct inode *inode, - unsigned int open_flags) + unsigned int open_flags, unsigned int flags) { struct dentry *real; int err; @@ -102,7 +102,7 @@ static struct dentry *ovl_d_real(struct dentry *dentry, goto bug; /* Handle recursion */ - real = d_real(real, inode, open_flags); + real = d_real(real, inode, open_flags, 0); if (!inode || inode == d_inode(real)) return real; |