linux/drivers
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
..
acorn [ARM] Acorn: move the i2c bus driver into drivers/i2c 2007-03-04 20:40:50 +00:00
acpi Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2007-05-05 14:55:20 -07:00
amba uevent: use add_uevent_var() instead of open coding it 2007-04-27 10:57:29 -07:00
ata Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-05-06 13:20:10 -07:00
atm PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
auxdisplay [PATCH] cfag12864b: fix crash when built-in and no parport present 2007-02-20 17:10:14 -08:00
base Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-05-04 18:04:48 -07:00
block [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
bluetooth [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
cdrom [PATCH] Fix soft lockup with iSeries viocd driver 2007-03-05 07:57:51 -08:00
char Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2007-05-05 14:55:20 -07:00
clocksource ACPI: correct pathname in comment 2007-04-25 14:27:06 -04:00
connector [NETLINK]: Switch cb_lock spinlock to mutex and allow to override it 2007-04-25 22:29:03 -07:00
cpufreq [CPUFREQ] cleanup kconfig options 2007-04-26 14:32:03 -04:00
crypto [CRYPTO] padlock: Remove pointless padlock module 2007-05-02 22:08:26 +10:00
dio
dma [PATCH] rm pointless dmaengine exports 2007-03-16 19:25:03 -07:00
edac [PATCH] EDAC: Add Fully-Buffered DIMM APIs to core 2007-02-12 09:48:32 -08:00
eisa [PATCH] drivers/eisa/pci_eisa.c:pci_eisa_init() should be init 2007-03-27 09:05:15 -07:00
fc4 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
firmware remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
hid Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid 2007-04-30 08:58:21 -07:00
hwmon Merge branch 'linux-2.6' into for-2.6.22 2007-04-30 12:38:01 +10:00
i2c Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-05-06 13:20:10 -07:00
ide ide-cs: recognize 2GB CompactFlash from Transcend 2007-05-05 22:03:51 +02:00
ieee1394 PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
infiniband Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-05-05 13:30:44 -07:00
input Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input 2007-05-04 18:16:12 -07:00
isdn PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
kvm KVM: Remove unused 'instruction_length' 2007-05-03 10:52:32 +03:00
leds leds: Add support for Cobalt Server front LED 2007-02-15 21:37:29 +00:00
macintosh CUDA ADB fixes 2007-05-04 17:59:07 -07:00
mca
md [BLOCK] Don't pin lots of memory in mempools 2007-04-30 09:08:17 +02:00
media Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-05-04 18:04:29 -07:00
message Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-05-05 13:30:44 -07:00
mfd [PATCH] drivers/mfd/sm501.c: fix an off-by-one 2007-04-02 10:06:08 -07:00
misc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2007-05-04 21:44:34 -07:00
mmc Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-05-06 13:20:10 -07:00
mtd mm: make read_cache_page synchronous 2007-05-07 12:12:51 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-05-06 13:21:57 -07:00
nubus
oprofile [PATCH] oprofile: fix potential deadlock on oprofilefs_lock 2007-03-28 13:58:02 -07:00
parisc Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-05-04 19:36:58 -07:00
parport [PARPORT] SUNBPP: Fix OOPS when debugging is enabled. 2007-04-23 23:33:17 -07:00
pci Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-05-04 18:04:48 -07:00
pcmcia add new_id to PCMCIA drivers 2007-05-07 12:12:50 -07:00
pnp PNP: stop using the subsystem rwsem 2007-04-27 10:57:30 -07:00
ps3 ps3av: Use __func__ instead of __FUNCTION__ 2007-05-04 17:59:09 -07:00
rapidio [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
rtc [PATCH] rtc-cmos lockdep fix, irq updates 2007-04-02 10:06:09 -07:00
s390 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-05-05 13:30:44 -07:00
sbus PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-05-06 13:21:57 -07:00
serial Serial: serial_core, use pr_debug 2007-05-07 12:12:51 -07:00
sh
sn [PATCH] IOC3/IOC4: PCI mem space resources 2007-02-11 10:51:25 -08:00
spi spi: fix use of set_cs in spi_s3c24xx driver 2007-04-17 16:36:27 -07:00
tc [PATCH] Fix build error on zs serial driver 2007-04-04 21:12:47 -07:00
telephony [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
usb Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-05-06 13:20:10 -07:00
video Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-05-06 13:21:57 -07:00
w1 [PATCH] w1: Use ARRAY_SIZE macro when appropriate 2007-02-12 09:48:28 -08:00
zorro Amiga Zorro bus: kill resource_size_t warnings 2007-05-04 17:59:08 -07:00
Kconfig [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00
Makefile i2c: Add i2c_board_info and i2c_new_device() 2007-05-01 23:26:31 +02:00