mm: make read_cache_page synchronous
authorNick Piggin <npiggin@suse.de>
Sun, 6 May 2007 21:49:04 +0000 (14:49 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 7 May 2007 19:12:51 +0000 (12:12 -0700)
commit6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2
tree8bbfe5072279227cc50a941ad4813908082426a1
parent714b8171af9c930a59a0da8f6fe50518e70ab035
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>
24 files changed:
drivers/mtd/devices/block2mtd.c
fs/afs/dir.c
fs/afs/mntpt.c
fs/cramfs/inode.c
fs/ecryptfs/mmap.c
fs/ext2/dir.c
fs/freevxfs/vxfs_subr.c
fs/minix/dir.c
fs/namei.c
fs/nfs/dir.c
fs/nfs/symlink.c
fs/ntfs/aops.h
fs/ntfs/attrib.c
fs/ntfs/file.c
fs/ntfs/super.c
fs/ocfs2/symlink.c
fs/partitions/check.c
fs/reiserfs/xattr.c
fs/sysv/dir.c
fs/ufs/dir.c
fs/ufs/util.c
include/linux/pagemap.h
mm/filemap.c
mm/swapfile.c