summaryrefslogtreecommitdiffstats
path: root/fs/cifs
diff options
context:
space:
mode:
authorAl Viro2011-06-26 03:37:18 +0200
committerAl Viro2011-07-20 07:43:56 +0200
commit407938e79edcadba1b5a17cf928584d8a191a8d7 (patch)
tree2d8abfe7d1fb12e6c28370ab44c77516d7b2f3a1 /fs/cifs
parentno need to check for LOOKUP_OPEN in ->create() instances (diff)
downloadkernel-qcow2-linux-407938e79edcadba1b5a17cf928584d8a191a8d7.tar.gz
kernel-qcow2-linux-407938e79edcadba1b5a17cf928584d8a191a8d7.tar.xz
kernel-qcow2-linux-407938e79edcadba1b5a17cf928584d8a191a8d7.zip
LOOKUP_CREATE and LOOKUP_RENAME_TARGET can be set only on the last step
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/cifs')
-rw-r--r--fs/cifs/dir.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index 8766149f6300..251c2ca569d3 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -663,10 +663,8 @@ cifs_d_revalidate(struct dentry *direntry, struct nameidata *nd)
* case sensitive name which is specified by user if this is
* for creation.
*/
- if (!(nd->flags & (LOOKUP_CONTINUE | LOOKUP_PARENT))) {
- if (nd->flags & (LOOKUP_CREATE | LOOKUP_RENAME_TARGET))
- return 0;
- }
+ if (nd->flags & (LOOKUP_CREATE | LOOKUP_RENAME_TARGET))
+ return 0;
if (time_after(jiffies, direntry->d_time + HZ) || !lookupCacheEnabled)
return 0;