diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-06-25 21:48:43 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-07-20 01:44:02 -0400 |
commit | 8aeb376ca0fe61038166c3b8243c678addb80abf (patch) | |
tree | daae94f5aebe5decd67ad37dc642090ebaa9dba5 /fs/nfs/dir.c | |
parent | 4352780386139ff33d2203868b392e6535deff61 (diff) |
nfs: LOOKUP_{OPEN,CREATE,EXCL} is set only on the last step
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r-- | fs/nfs/dir.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 77ae95f15497..8a45e6d1f6a4 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c | |||
@@ -997,14 +997,12 @@ static int nfs_check_verifier(struct inode *dir, struct dentry *dentry) | |||
997 | * Return the intent data that applies to this particular path component | 997 | * Return the intent data that applies to this particular path component |
998 | * | 998 | * |
999 | * Note that the current set of intents only apply to the very last | 999 | * Note that the current set of intents only apply to the very last |
1000 | * component of the path. | 1000 | * component of the path and none of them is set before that last |
1001 | * We check for this using LOOKUP_CONTINUE and LOOKUP_PARENT. | 1001 | * component. |
1002 | */ | 1002 | */ |
1003 | static inline unsigned int nfs_lookup_check_intent(struct nameidata *nd, | 1003 | static inline unsigned int nfs_lookup_check_intent(struct nameidata *nd, |
1004 | unsigned int mask) | 1004 | unsigned int mask) |
1005 | { | 1005 | { |
1006 | if (nd->flags & (LOOKUP_CONTINUE|LOOKUP_PARENT)) | ||
1007 | return 0; | ||
1008 | return nd->flags & mask; | 1006 | return nd->flags & mask; |
1009 | } | 1007 | } |
1010 | 1008 | ||