linux/fs/nfs
Nick Piggin 6fe6900e1e mm: make read_cache_page synchronous
Ensure pages are uptodate after returning from read_cache_page, which allows
us to cut out most of the filesystem-internal PageUptodate calls.

I didn't have a great look down the call chains, but this appears to fixes 7
possible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in
ecryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in
block2mtd.  All depending on whether the filler is async and/or can return
with a !uptodate page.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-07 12:12:51 -07:00
..
callback_proc.c [PATCH] fs/nfs/callback* passes error values big-endian 2006-10-20 10:26:40 -07:00
callback_xdr.c [PATCH] knfsd: SUNRPC: Provide room in svc_rqst for larger addresses 2007-02-12 09:48:36 -08:00
callback.c [PATCH] knfsd: SUNRPC: Provide room in svc_rqst for larger addresses 2007-02-12 09:48:36 -08:00
callback.h [PATCH] xdr annotations: fs/nfs/callback* 2006-10-20 10:26:40 -07:00
client.c NFS: Added support to turn off the NFSv3 READDIRPLUS RPC. 2007-04-30 22:17:16 -07:00
delegation.c [PATCH] fs: Removing useless casts 2006-09-27 08:26:10 -07:00
delegation.h NFS: Rename struct nfs4_client to struct nfs_client 2006-09-22 23:24:31 -04:00
dir.c mm: make read_cache_page synchronous 2007-05-07 12:12:51 -07:00
direct.c NFS: Fix a buffer overflow in the allocation of struct nfs_read/writedata 2007-04-30 22:17:07 -07:00
file.c [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
getroot.c NFSv4: Don't require that NFSv4 mount paths begin with '/' 2007-02-03 15:35:05 -08:00
idmap.c [PATCH] nfs: change uses of f_{dentry,vfsmnt} to use f_path 2006-12-08 08:28:41 -08:00
inode.c NFS: Fix an Oops in nfs_setattr() 2007-04-14 21:46:47 -07:00
internal.h NFS: Fix a buffer overflow in the allocation of struct nfs_read/writedata 2007-04-30 22:17:07 -07:00
iostat.h NFSv4: Fix an oops in nfs4_fill_super 2006-03-20 13:44:48 -05:00
Makefile NFS: Share NFS superblocks per-protocol per-server per-FSID 2006-09-22 23:24:37 -04:00
mount_clnt.c SUNRPC: RPC buffer size estimates are too large 2007-04-30 22:17:10 -07:00
namespace.c [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
nfs2xdr.c SUNRPC: RPC buffer size estimates are too large 2007-04-30 22:17:10 -07:00
nfs3acl.c NFSv3: Client-side nfsacl caching fix 2006-06-09 09:34:11 -04:00
nfs3proc.c NFS: Remove nfs_readpage_sync() 2007-02-03 15:35:06 -08:00
nfs3xdr.c SUNRPC: RPC buffer size estimates are too large 2007-04-30 22:17:10 -07:00
nfs4_fs.h Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ 2007-02-12 22:43:25 -08:00
nfs4namespace.c NFSv4: /proc/mounts displays the wrong server name for referrals 2007-02-03 15:35:10 -08:00
nfs4proc.c NFS4: invalidate cached acl on setacl 2007-05-02 07:36:09 -07:00
nfs4renewd.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
nfs4state.c NFS: Share NFS superblocks per-protocol per-server per-FSID 2006-09-22 23:24:37 -04:00
nfs4xdr.c SUNRPC: RPC buffer size estimates are too large 2007-04-30 22:17:10 -07:00
nfsroot.c NFS: switch NFSROOT to use new rpcbind client 2007-04-30 22:17:14 -07:00
pagelist.c NFS: Fix a compile glitch on 64-bit systems 2007-05-04 14:44:06 -04:00
proc.c NFS: Remove nfs_readpage_sync() 2007-02-03 15:35:06 -08:00
read.c NFS: Fix a buffer overflow in the allocation of struct nfs_read/writedata 2007-04-30 22:17:07 -07:00
super.c NFS: Added support to turn off the NFSv3 READDIRPLUS RPC. 2007-04-30 22:17:16 -07:00
symlink.c mm: make read_cache_page synchronous 2007-05-07 12:12:51 -07:00
sysctl.c [PATCH] nfs: fix congestion control 2007-03-16 19:25:05 -07:00
unlink.c NFS: kzalloc conversion in fs/nfs 2006-03-20 13:44:10 -05:00
write.c NFS: Use pgoff_t in structures and functions that pass page cache offsets 2007-04-30 22:17:09 -07:00