Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

fs/namei.c: don't pass namedata to lookup_dcache()

just the flags...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro 201f956e 4ce16ef3

+4 -4
+4 -4
fs/namei.c
··· 1039 1039 * dir->d_inode->i_mutex must be held 1040 1040 */ 1041 1041 static struct dentry *lookup_dcache(struct qstr *name, struct dentry *dir, 1042 - struct nameidata *nd, bool *need_lookup) 1042 + unsigned int flags, bool *need_lookup) 1043 1043 { 1044 1044 struct dentry *dentry; 1045 1045 int error; ··· 1050 1050 if (d_need_lookup(dentry)) { 1051 1051 *need_lookup = true; 1052 1052 } else if (dentry->d_flags & DCACHE_OP_REVALIDATE) { 1053 - error = d_revalidate(dentry, nd ? nd->flags : 0); 1053 + error = d_revalidate(dentry, flags); 1054 1054 if (unlikely(error <= 0)) { 1055 1055 if (error < 0) { 1056 1056 dput(dentry); ··· 1104 1104 bool need_lookup; 1105 1105 struct dentry *dentry; 1106 1106 1107 - dentry = lookup_dcache(name, base, nd, &need_lookup); 1107 + dentry = lookup_dcache(name, base, nd ? nd->flags : 0, &need_lookup); 1108 1108 if (!need_lookup) 1109 1109 return dentry; 1110 1110 ··· 2356 2356 bool need_lookup; 2357 2357 2358 2358 *opened &= ~FILE_CREATED; 2359 - dentry = lookup_dcache(&nd->last, dir, nd, &need_lookup); 2359 + dentry = lookup_dcache(&nd->last, dir, nd->flags, &need_lookup); 2360 2360 if (IS_ERR(dentry)) 2361 2361 return PTR_ERR(dentry); 2362 2362