linux-stable/drivers
Keld Simonsen 8ed3a19563 md: don't attempt read-balancing for raid10 'far' layouts
This patch changes the disk to be read for layout "far > 1" to always be the
disk with the lowest block address.

Thus the chunks to be read will always be (for a fully functioning array) from
the first band of stripes, and the raid will then work as a raid0 consisting
of the first band of stripes.

Some advantages:

The fastest part which is the outer sectors of the disks involved will be
used.  The outer blocks of a disk may be as much as 100 % faster than the
inner blocks.

Average seek time will be smaller, as seeks will always be confined to the
first part of the disks.

Mixed disks with different performance characteristics will work better, as
they will work as raid0, the sequential read rate will be number of disks
involved times the IO rate of the slowest disk.

If a disk is malfunctioning, the first disk which is working, and has the
lowest block address for the logical block will be used.

Signed-off-by: Keld Simonsen <keld@dkuug.dk>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-03-04 16:35:18 -08:00
..
acorn/char Fix default compose table initialization 2008-03-03 14:53:16 -08:00
acpi Merge branches 'release', 'bugzilla-9916', 'bugzilla-9982', 'bugzilla-9989', 'misc', 'suspend', 'thermal', 'thinkpad' and 'tsc' into release 2008-02-21 02:41:58 -05:00
amba
ata block: separate out padding from alignment 2008-03-04 11:18:17 +01:00
atm
auxdisplay
base docbook: fix kernel-api source files 2008-03-03 10:47:14 -08:00
block pktcdvd: reduce stack consumption 2008-03-04 16:35:12 -08:00
bluetooth hci_ldisc: fix null pointer deref 2008-02-12 17:54:16 -08:00
cdrom make cdrom.c:check_for_audio_disc() static 2008-03-04 11:28:41 +01:00
char drivers/char/isicom.c: correct use of ! and & 2008-03-04 16:35:15 -08:00
clocksource
connector CONNECTOR: make cn_already_initialized static 2008-02-26 18:42:44 -08:00
cpufreq cpufreq: fix kobject reference count handling 2008-02-21 15:27:06 -08:00
cpuidle ACPI, cpuidle: Clarify C-state description in sysfs 2008-02-14 00:09:55 -05:00
crypto [HIFN]: Fix invalid config ifdefs for RNG support 2008-02-15 19:15:05 +08:00
dca DCA: convert struct class_device to struct device. 2008-02-08 15:33:33 -08:00
dio
dma ioat: fix 'ack' handling, driver must ensure that 'ack' is zero 2008-03-04 10:16:46 -07:00
edac
eisa
firewire firewire: fix crash in automatic module unloading 2008-03-02 12:35:46 +01:00
firmware dmi: prevent linked list corruption 2008-02-23 17:12:15 -08:00
gpio
hid HID: add USB IDs for MacBook 3rd generation 2008-02-13 17:08:04 +01:00
hwmon hwmon: normal_i2c arrays should be const 2008-02-18 21:58:15 -05:00
i2c i2c-i801: Add support for the ICH10 2008-02-24 20:03:42 +01:00
ide ide: remove stale comments from ide-dma.c (take 2) 2008-02-26 21:50:36 +01:00
ieee1394 ieee1394: sbp2: fix rescan-scsi-bus 2008-02-19 19:57:24 +01:00
infiniband RDMA/nes: Fix interrupt moderation low threshold 2008-02-26 16:24:29 -08:00
input mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
isdn hisax_fcpcipnp: move request_irq later in probe 2008-03-04 16:35:16 -08:00
leds PWM LED driver 2008-02-08 09:22:38 -08:00
lguest lguest: accept guest _PAGE_PWT page table entries 2008-02-09 23:24:09 +01:00
macintosh PM: Introduce PM_EVENT_HIBERNATE callback state 2008-02-23 10:40:04 -08:00
mca
md md: don't attempt read-balancing for raid10 'far' layouts 2008-03-04 16:35:18 -08:00
media V4L/DVB (7219): zoran: Fix namespace conflicts with Zoran 'GPIO_MAX' enum 2008-02-18 12:18:28 -03:00
memstick drivers/memstick/host/tifm_ms.c breakage 2008-02-13 08:16:35 -08:00
message docbook: fix fusion source files 2008-03-03 10:47:14 -08:00
mfd sm501: add support for the SM502 programmable PLL 2008-03-04 16:35:13 -08:00
misc ACPI: thinkpad-acpi: fix hotkey_get_tablet_mode 2008-03-04 16:35:16 -08:00
mmc
mtd Introduce path_put() 2008-02-14 21:13:33 -08:00
net m68knommu: fix fec driver interrupt races 2008-03-04 08:04:11 -08:00
nubus
of
oprofile d_path: Make get_dcookie() use a struct path argument 2008-02-14 21:17:08 -08:00
parisc iommu: parisc: make the IOMMUs respect the segment boundary limits 2008-03-04 16:35:17 -08:00
parport parport: section fixup 2008-02-13 16:21:19 -08:00
pci docbook: fix kernel-api source files 2008-03-03 10:47:14 -08:00
pcmcia PCI: drivers/pcmcia/i82092.c: fix up after pci_bus_region changes 2008-02-21 15:34:35 -08:00
pnp Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-02-14 21:29:46 -08:00
power
ps3 [POWERPC] PS3: Update sys-manager button events 2008-02-14 22:11:01 +11:00
rapidio docbook: fix rapidio source files 2008-03-03 10:47:13 -08:00
rtc rtc: add support for the S-35390A RTC chip 2008-03-04 16:35:09 -08:00
s390 Build fix for drivers/s390/char/defkeymap.c 2008-03-04 08:01:26 -08:00
sbus
scsi scsi: missing add of padded bytes to io completion byte count 2008-03-04 20:24:05 +01:00
serial drivers/serial/m32r_sio.c: correct use of ! and & 2008-03-04 16:35:16 -08:00
sh maple: fix device detection 2008-02-26 14:12:09 +09:00
sn
spi powerpc: mpc5200: fix build error on mpc52xx_psc_spi device driver 2008-03-04 16:35:12 -08:00
ssb SSB PCI core driver: use new SPROM data structure 2008-02-28 09:29:58 -05:00
tc
telephony
thermal thermal: use ERR_PTR for returning error 2008-02-15 18:21:30 -05:00
uio UIO: fix Greg's stupid changes 2008-02-21 15:27:07 -08:00
usb docbook: fix usb source files 2008-03-03 10:47:14 -08:00
video sm501fb: fix timing limits 2008-03-04 16:35:13 -08:00
virtio
w1 ds1wm: report bus reset error 2008-03-04 16:35:12 -08:00
watchdog [WATCHDOG] HP ProLiant WatchDog driver 2008-02-18 17:06:21 +00:00
xen
zorro
Kconfig memstick: initial commit for Sony MemoryStick support 2008-02-09 11:08:34 -08:00
Makefile memstick: initial commit for Sony MemoryStick support 2008-02-09 11:08:34 -08:00