summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-06-22 12:42:10 +0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-14 16:34:25 +0400
commit201f956e43d4542723514e024d948011dd766d43 (patch)
tree5405b793dea456b8d6b1c55c7a3007fc6c55683c
parent4ce16ef3fed92c627b4b0136c02c85c81ee105e0 (diff)
downloadlinux-201f956e43d4542723514e024d948011dd766d43.tar.bz2
fs/namei.c: don't pass namedata to lookup_dcache()
just the flags... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--fs/namei.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/namei.c b/fs/namei.c
index 91c637b68984..2e943ab04f32 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1039,7 +1039,7 @@ static void follow_dotdot(struct nameidata *nd)
* dir->d_inode->i_mutex must be held
*/
static struct dentry *lookup_dcache(struct qstr *name, struct dentry *dir,
- struct nameidata *nd, bool *need_lookup)
+ unsigned int flags, bool *need_lookup)
{
struct dentry *dentry;
int error;
@@ -1050,7 +1050,7 @@ static struct dentry *lookup_dcache(struct qstr *name, struct dentry *dir,
if (d_need_lookup(dentry)) {
*need_lookup = true;
} else if (dentry->d_flags & DCACHE_OP_REVALIDATE) {
- error = d_revalidate(dentry, nd ? nd->flags : 0);
+ error = d_revalidate(dentry, flags);
if (unlikely(error <= 0)) {
if (error < 0) {
dput(dentry);
@@ -1104,7 +1104,7 @@ static struct dentry *__lookup_hash(struct qstr *name,
bool need_lookup;
struct dentry *dentry;
- dentry = lookup_dcache(name, base, nd, &need_lookup);
+ dentry = lookup_dcache(name, base, nd ? nd->flags : 0, &need_lookup);
if (!need_lookup)
return dentry;
@@ -2356,7 +2356,7 @@ static int lookup_open(struct nameidata *nd, struct path *path,
bool need_lookup;
*opened &= ~FILE_CREATED;
- dentry = lookup_dcache(&nd->last, dir, nd, &need_lookup);
+ dentry = lookup_dcache(&nd->last, dir, nd->flags, &need_lookup);
if (IS_ERR(dentry))
return PTR_ERR(dentry);