linux/fs/nfs
Trond Myklebust 4dc05efb86 NFS: Convert __nfs_revalidate_inode() to use nfs_refresh_inode()
In the case where there are parallel RPC calls to the same inode, we may
receive stale metadata due to the lack of ordering, hence the sanity
checking of metadata in nfs_refresh_inode().
Currently, __nfs_revalidate_inode() is calling nfs_update_inode() directly,
without any further sanity checks, and hence may end up setting the inode
up with stale metadata.

Fix is to use nfs_refresh_inode() instead of nfs_update_inode().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2008-10-07 17:41:17 -04:00
..
callback_proc.c nfs: replace remaining __FUNCTION__ occurrences 2008-05-16 09:43:29 -07:00
callback_xdr.c nfs: replace remaining __FUNCTION__ occurrences 2008-05-16 09:43:29 -07:00
callback.c nfs4: fix potential race with rapid nfs_callback_up/down cycle 2008-07-09 12:09:32 -04:00
callback.h NFS: Change cb_recallargs to pass "struct sockaddr *" instead of sockaddr_in 2008-01-30 02:05:55 -05:00
client.c NFS: Don't apply NFS_MOUNT_FLAGMASK to text-based mounts 2008-10-07 17:23:56 -04:00
delegation.c nfs: replace remaining __FUNCTION__ occurrences 2008-05-16 09:43:29 -07:00
delegation.h NFS: Add an asynchronous delegreturn operation for use in nfs_clear_inode 2008-01-30 02:06:12 -05:00
dir.c NFS: Add options for finer control of the lookup cache 2008-10-07 17:22:20 -04:00
direct.c NFS: Use NFSDBG_FILE for all fops 2008-07-09 12:09:04 -04:00
file.c NFS: Fix nfs_file_llseek() 2008-10-06 20:08:26 -04:00
getroot.c Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) 2008-02-07 08:42:26 -08:00
idmap.c nfs: fix sparse warnings 2008-02-20 16:15:44 -05:00
inode.c NFS: Convert __nfs_revalidate_inode() to use nfs_refresh_inode() 2008-10-07 17:41:17 -04:00
internal.h NFS: Clean up nfs_sb_active/nfs_sb_deactive 2008-10-06 20:08:26 -04:00
iostat.h NFS: Fix a warning in nfs4_async_handle_error 2008-07-09 12:09:18 -04:00
Makefile NFS: Always enable NFS direct I/O 2008-03-19 18:00:34 -04:00
mount_clnt.c NFS: Fix filehandle size comparisons in the mount code 2008-06-23 17:09:06 -04:00
namespace.c [PATCH] pass struct path * to do_add_mount() 2008-08-01 11:25:32 -04:00
nfs2xdr.c nfs: return negative error value from nfs{,4}_stat_to_errno 2008-04-19 16:54:47 -04:00
nfs3acl.c NFS: Ensure we zap only the access and acl caches when setting new acls 2008-07-09 12:09:19 -04:00
nfs3proc.c NFS: Remove the redundant file_open entry from struct nfs_rpc_ops 2008-07-09 12:09:16 -04:00
nfs3xdr.c nfs: return negative error value from nfs{,4}_stat_to_errno 2008-04-19 16:54:47 -04:00
nfs4_fs.h nfs: make nfs4_drop_state_owner() static 2008-05-16 09:43:31 -07:00
nfs4namespace.c nfs: replace remaining __FUNCTION__ occurrences 2008-05-16 09:43:29 -07:00
nfs4proc.c NFS: Remove BKL usage from open() 2008-07-15 18:10:53 -04:00
nfs4renewd.c nfs: replace remaining __FUNCTION__ occurrences 2008-05-16 09:43:29 -07:00
nfs4state.c NFSv4: Remove BKL from the nfsv4 state recovery 2008-07-15 18:10:57 -04:00
nfs4xdr.c nfs: replace remaining __FUNCTION__ occurrences 2008-05-16 09:43:29 -07:00
nfsroot.c Revert "UFS: add const to parser token table" 2008-08-04 16:50:38 -07:00
pagelist.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
proc.c NFS: Remove the redundant file_open entry from struct nfs_rpc_ops 2008-07-09 12:09:16 -04:00
read.c nfs: replace remaining __FUNCTION__ occurrences 2008-05-16 09:43:29 -07:00
super.c NFS: Add mount options for controlling the lookup cache 2008-10-07 17:23:57 -04:00
symlink.c nfs: remove unnecessary NFS_NEED_* defines 2008-04-23 16:13:37 -04:00
sysctl.c [PATCH] nfs: fix congestion control 2007-03-16 19:25:05 -07:00
unlink.c NFS: Clean up nfs_sb_active/nfs_sb_deactive 2008-10-06 20:08:26 -04:00
write.c NFS: Remove BKL requirement from attribute updates 2008-07-15 18:10:51 -04:00