linux/fs/nfs
Menyhart Zoltan fbf3fdd244 statfs() gives ESTALE error
Hi,

An NFS client executes a statfs("file", &buff) call.
"file" exists / existed, the client has read / written it,
but it has already closed it.

user_path(pathname, &path) looks up "file" successfully in the
directory-cache  and restarts the aging timer of the directory-entry.
Even if "file" has already been removed from the server, because the
lookupcache=positive option I use, keeps the entries valid for a while.

nfs_statfs() returns ESTALE if "file" has already been removed from the
server.

If the user application repeats the statfs("file", &buff) call, we
are stuck: "file" remains young forever in the directory-cache.

Signed-off-by: Zoltan Menyhart  <Zoltan.Menyhart@bull.net>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@kernel.org
2010-09-12 19:55:26 -04:00
..
cache_lib.c
cache_lib.h
callback_proc.c
callback_xdr.c
callback.c param: use ops in struct kernel_param, rather than get and set fns directly 2010-08-11 23:04:13 +09:30
callback.h
client.c NFS: Fix a typo in nfs_sockaddr_match_ipaddr6 2010-09-12 19:55:26 -04:00
delegation.c
delegation.h
dir.c NFS: Fix an Oops in the NFSv4 atomic open code 2010-08-18 09:25:42 -04:00
direct.c
dns_resolve.c NFS: Use kernel DNS resolver [ver #2] 2010-08-11 17:11:28 +00:00
dns_resolve.h NFS: Use kernel DNS resolver [ver #2] 2010-08-11 17:11:28 +00:00
file.c Remove incorrect do_vfs_lock message 2010-09-12 19:55:25 -04:00
fscache-index.c
fscache.c
fscache.h
getroot.c
idmap.c
inode.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
internal.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
iostat.h
Kconfig Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 2010-08-18 15:45:23 -07:00
Makefile
mount_clnt.c
namespace.c
nfs2xdr.c
nfs3acl.c
nfs3proc.c
nfs3xdr.c
nfs4_fs.h
nfs4namespace.c
nfs4proc.c NFS: Fix an Oops in the NFSv4 atomic open code 2010-08-18 09:25:42 -04:00
nfs4renewd.c
nfs4state.c
nfs4xdr.c
nfsroot.c
pagelist.c
proc.c
read.c
super.c statfs() gives ESTALE error 2010-09-12 19:55:26 -04:00
symlink.c
sysctl.c
unlink.c
write.c