kernel-ark/drivers
Dan Williams e4d84909dd raid5: fix 2 bugs in ops_complete_biofill
1/ ops_complete_biofill tried to avoid calling handle_stripe since all the
state necessary to return read completions is available.  However the
process of determining whether more read requests are pending requires
locking the stripe (to block add_stripe_bio from updating dev->toead).
ops_complete_biofill can run in tasklet context, so rather than upgrading
all the stripe locks from spin_lock to spin_lock_bh this patch just
unconditionally reschedules handle_stripe after completing the read
request.

2/ ops_complete_biofill needlessly qualified processing R5_Wantfill with
dev->toread.  The result being that the 'biofill' pending bit is cleared
before handling the pending read-completions on dev->read.  R5_Wantfill can
be unconditionally handled because the 'biofill' pending bit prevents new
R5_Wantfill requests from being seen by ops_run_biofill and
ops_complete_biofill.

Found-by: Yuri Tikhonov <yur@emcraft.com>
[neilb@suse.de: simpler fix for bug 1 than moving code]
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2007-09-24 13:23:35 -07:00
..
acorn/char
acpi ACPI: disable lower idle C-states across suspend/resume 2007-09-22 17:15:34 -07:00
amba
ata [libata] ahci: add ATI SB800 PCI IDs 2007-09-20 16:07:33 -04:00
atm
auxdisplay
base Driver core: fix deprectated sysfs structure for nested class devices 2007-09-19 11:24:18 -07:00
block Fix "Fix DAC960 driver on machines which don't support 64-bit DMA" 2007-09-19 11:24:16 -07:00
bluetooth
cdrom
char intel-agp: Fix i830 mask variable that changed with G33 support 2007-09-19 11:24:18 -07:00
clocksource
connector
cpufreq
crypto
dio
dma
edac
eisa
fc4
firewire
firmware
hid
hwmon
i2c
ide ide: remove unused variables from drivers/ide/ppc/pmac.c 2007-09-17 12:35:30 +02:00
ieee1394 ieee1394: ohci1394: fix initialization if built non-modular 2007-09-20 21:19:45 +02:00
infiniband IB/mlx4: Fix data corruption triggered by wrong headroom marking order 2007-09-23 13:03:22 -07:00
input
isdn
kvm KVM: Fix virtualization menu help text 2007-09-22 12:55:18 -07:00
leds
lguest
macintosh
mca
md raid5: fix 2 bugs in ops_complete_biofill 2007-09-24 13:23:35 -07:00
media pci: fix unterminated pci_device_id lists 2007-09-19 11:24:17 -07:00
message
mfd
misc Pull thinkpad into release branch 2007-09-17 00:58:40 -04:00
mmc
mtd pci: fix unterminated pci_device_id lists 2007-09-19 11:24:17 -07:00
net Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-09-20 12:42:47 -07:00
nubus
of
oprofile
parisc
parport
pci
pcmcia
pnp
power [PATCH] missing null termination in power supply uevent 2007-09-21 01:22:23 +04:00
ps3
rapidio
rtc rtc: rtc-ds1553.c should use resource_size_t for base address 2007-09-19 11:24:17 -07:00
s390
sbus
scsi
serial [SUNSAB]: Fix several bugs. 2007-09-17 16:47:07 -07:00
sh
sn
spi
tc
telephony
uio
usb Revert "usb-storage: implement autosuspend" 2007-09-13 06:01:24 -07:00
video intelfb: Fix bug in DPLL disable 2007-09-19 11:24:18 -07:00
w1
xen
zorro
Kconfig
Makefile