kernel_optimize_test/fs/ocfs2
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
..
cluster Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 2007-05-04 20:44:54 -07:00
dlm ocfs2: fix sparse warnings in fs/ocfs2/dlm 2007-05-02 15:08:15 -07:00
alloc.c ocfs2: fix sparse warnings in fs/ocfs2 2007-05-02 15:08:08 -07:00
alloc.h ocfs2: make room for unwritten extents flag 2007-04-26 15:02:37 -07:00
aops.c ocfs2: Force use of GFP_NOFS in ocfs2_write() 2007-05-02 15:08:34 -07:00
aops.h ocfs2: Remember rw lock level during direct io 2007-04-26 15:07:45 -07:00
buffer_head_io.c ocfs2: implement directory read-ahead 2006-09-20 15:53:40 -07:00
buffer_head_io.h ocfs2: implement directory read-ahead 2006-09-20 15:53:40 -07:00
dcache.c ocfs2: Remove special casing for inode creation in ocfs2_dentry_attach_lock() 2006-09-24 13:50:45 -07:00
dcache.h ocfs2: Remove special casing for inode creation in ocfs2_dentry_attach_lock() 2006-09-24 13:50:45 -07:00
dir.c ocfs2: Wrap access of directory allocations with ip_alloc_sem. 2007-05-02 15:07:42 -07:00
dir.h ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t 2006-12-01 18:28:28 -08:00
dlmglue.c [PATCH] fs/ocfs2/: make 3 functions static 2007-05-02 15:07:27 -07:00
dlmglue.h [PATCH] fs/ocfs2/: make 3 functions static 2007-05-02 15:07:27 -07:00
endian.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
export.c ocfs2: fix sparse warnings in fs/ocfs2 2007-05-02 15:08:08 -07:00
export.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
extent_map.c ocfs2: Cache extent records 2007-04-26 15:10:40 -07:00
extent_map.h ocfs2: Cache extent records 2007-04-26 15:10:40 -07:00
file.c ocfs2: fix sparse warnings in fs/ocfs2 2007-05-02 15:08:08 -07:00
file.h [PATCH] fs/ocfs2/: make 3 functions static 2007-05-02 15:07:27 -07:00
heartbeat.c ocfs2: Proper cleanup in case of error in ocfs2_register_hb_callbacks() 2007-03-14 14:37:09 -07:00
heartbeat.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
inode.c ocfs2: fix sparse warnings in fs/ocfs2 2007-05-02 15:08:08 -07:00
inode.h [PATCH] Copy i_flags to ocfs2 inode flags on write 2007-05-02 15:07:58 -07:00
ioctl.c [PATCH] Copy i_flags to ocfs2 inode flags on write 2007-05-02 15:07:58 -07:00
ioctl.h ocfs2: Implement compat_ioctl() 2007-05-02 15:07:16 -07:00
journal.c ocfs2: fix sparse warnings in fs/ocfs2 2007-05-02 15:08:08 -07:00
journal.h ocfs2: make room for unwritten extents flag 2007-04-26 15:02:37 -07:00
localalloc.c [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() 2006-12-13 09:05:52 -08:00
localalloc.h ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t 2006-12-01 18:28:28 -08:00
Makefile ocfs2: add ext2 attributes 2006-09-20 15:48:39 -07:00
mmap.c ocfs2: Turn off shared writeable mmap for local files systems with holes. 2007-04-26 15:02:01 -07:00
mmap.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
namei.c ocfs2: fix sparse warnings in fs/ocfs2 2007-05-02 15:08:08 -07:00
namei.h [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
ocfs1_fs_compat.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
ocfs2_fs.h ocfs2: Implement compat_ioctl() 2007-05-02 15:07:16 -07:00
ocfs2_lockid.h ocfs2: Remove delete inode vote 2007-04-26 14:39:48 -07:00
ocfs2.h ocfs2: fix sparse warnings in fs/ocfs2 2007-05-02 15:08:08 -07:00
slot_map.c ocfs2: Read from an unwritten extent returns zeros 2007-04-26 15:02:41 -07:00
slot_map.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
suballoc.c ocfs2: fix sparse warnings in fs/ocfs2 2007-05-02 15:08:08 -07:00
suballoc.h ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t 2006-12-01 18:28:28 -08:00
super.c ocfs2: fix sparse warnings in fs/ocfs2 2007-05-02 15:08:08 -07:00
super.h ocfs2: use __attribute__ format 2006-03-24 14:58:24 -08:00
symlink.c mm: make read_cache_page synchronous 2007-05-07 12:12:51 -07:00
symlink.h [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
sysfile.c ocfs2: Remove i_generation from inode lock names 2006-09-24 13:50:46 -07:00
sysfile.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
uptodate.c [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
uptodate.h ocfs2: implement directory read-ahead 2006-09-20 15:53:40 -07:00
ver.c [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
ver.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
vote.c ocfs2: remove unused code 2007-04-26 14:40:16 -07:00
vote.h ocfs2: remove unused code 2007-04-26 14:40:16 -07:00