1d6757fbff
We should never apply a lookup intent to anything other than the last path component in an open(), create() or access() call. Introduce the helper nfs_lookup_check_intent() which always returns zero if LOOKUP_CONTINUE or LOOKUP_PARENT are set, and returns the intent flags if we're on the last component of the lookup. By doing so, we fix a bug in open(O_EXCL), where we may end up optimizing away a real lookup of the parent directory. Problem noticed by Linda Dunaphant <linda.dunaphant@ccur.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
---|---|---|
.. | ||
callback.c | ||
callback.h | ||
callback_proc.c | ||
callback_xdr.c | ||
delegation.c | ||
delegation.h | ||
dir.c | ||
direct.c | ||
file.c | ||
idmap.c | ||
inode.c | ||
Makefile | ||
mount_clnt.c | ||
nfs2xdr.c | ||
nfs3proc.c | ||
nfs3xdr.c | ||
nfs4proc.c | ||
nfs4renewd.c | ||
nfs4state.c | ||
nfs4xdr.c | ||
nfsroot.c | ||
pagelist.c | ||
proc.c | ||
read.c | ||
symlink.c | ||
unlink.c | ||
write.c |