Commit 1472b83e authored by Trond Myklebust's avatar Trond Myklebust

NFS: Pass in lookup flags from nfs_atomic_open to nfs_lookup

When doing an open of a directory, ensure that we do pass the lookup flags
from nfs_atomic_open into nfs_lookup.
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent f4ce1299
...@@ -1407,6 +1407,7 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry, ...@@ -1407,6 +1407,7 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry,
struct dentry *res; struct dentry *res;
struct iattr attr = { .ia_valid = ATTR_OPEN }; struct iattr attr = { .ia_valid = ATTR_OPEN };
struct inode *inode; struct inode *inode;
unsigned int lookup_flags = 0;
int err; int err;
/* Expect a negative dentry */ /* Expect a negative dentry */
...@@ -1429,6 +1430,7 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry, ...@@ -1429,6 +1430,7 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry,
*/ */
return -ENOENT; return -ENOENT;
} }
lookup_flags = LOOKUP_OPEN|LOOKUP_DIRECTORY;
goto no_open; goto no_open;
} }
...@@ -1479,7 +1481,7 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry, ...@@ -1479,7 +1481,7 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry,
return err; return err;
no_open: no_open:
res = nfs_lookup(dir, dentry, 0); res = nfs_lookup(dir, dentry, lookup_flags);
err = PTR_ERR(res); err = PTR_ERR(res);
if (IS_ERR(res)) if (IS_ERR(res))
goto out; goto out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment