linux/drivers
NeilBrown fb060f3d95 md/raid1: don't abort a resync on the first badblock.
commit b7219ccb33 upstream.

If a resync of a RAID1 array with 2 devices finds a known bad block
one device it will neither read from, or write to, that device for
this block offset.
So there will be one read_target (The other device) and zero write
targets.
This condition causes md/raid1 to abort the resync assuming that it
has finished - without known bad blocks this would be true.

When there are no write targets because of the presence of bad blocks
we should only skip over the area covered by the bad block.
RAID10 already gets this right, raid1 doesn't.  Or didn't.

As this can cause a 'sync' to abort early and appear to have succeeded
it could lead to some data corruption, so it suitable for -stable.

Reported-by: Alexander Lyakas <alex.bolshoy@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-08-15 08:10:08 -07:00
..
accessibility
acpi ACPI/AC: prevent OOPS on some boxes due to missing check power_supply_register() return value check 2012-08-09 08:31:37 -07:00
amba ARM: 7366/3: amba: Remove AMBA level regulator support 2012-04-13 14:04:08 +01:00
ata ata_piix: defer disks to the Hyper-V drivers by default 2012-06-17 11:21:29 -07:00
atm solos-pci: Fix DMA support 2012-06-10 00:36:08 +09:00
auxdisplay
base PM / Sleep: call early resume handlers when suspend_noirq fails 2012-08-09 08:31:30 -07:00
bcma bcma: add ext PA workaround for BCM4331 and BCM43431 2012-06-17 11:21:26 -07:00
block umem: fix up unplugging 2012-07-16 09:04:08 -07:00
bluetooth Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth 2012-04-27 15:16:43 -04:00
cdrom
char Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts 2012-08-15 08:10:04 -07:00
clk clk: Check parent for NULL in clk_change_rate 2012-07-19 08:58:59 -07:00
clocksource Revert "clocksource: Load the ACPI PM clocksource asynchronously" 2012-04-12 00:05:05 +02:00
connector
cpufreq cpufreq: OMAP: fix build errors: depends on ARCH_OMAP2PLUS 2012-04-13 17:57:40 -07:00
cpuidle Merge branches 'idle-fix' and 'misc' into release 2012-04-06 21:48:59 -04:00
crypto crypto: mv_cesa requires on CRYPTO_HASH to build 2012-05-15 01:10:06 +00:00
dca
devfreq ARM: global cleanups 2012-03-27 16:03:32 -07:00
dio
dma dmaengine: pl330: dont complete descriptor for cyclic dma 2012-07-16 09:04:09 -07:00
edac edac: fix the error about memory type detection on SandyBridge 2012-06-22 11:37:15 -07:00
eisa
firewire Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
firmware pcdp: use early_ioremap/early_iounmap to access pcdp table 2012-08-15 08:10:05 -07:00
gpio gpiolib: wm8994: Pay attention to the value set when enabling as output 2012-07-16 09:04:09 -07:00
gpu nouveau: Fix alignment requirements on src and dst addresses 2012-08-09 08:31:40 -07:00
hid HID: multitouch: Add support for Baanto touchscreen 2012-07-29 08:04:19 -07:00
hsi HSI: hsi_char: Remove max_data_size from sysfs 2012-04-23 14:23:32 +03:00
hv
hwmon hwmon: (it87) Preserve configuration register bits on init 2012-07-19 08:58:55 -07:00
hwspinlock hwspinlock/core: use global ID to register hwspinlocks on multiple devices 2012-07-16 09:04:25 -07:00
i2c i2c: tegra: notify transfer-complete after clearing status. 2012-06-01 15:18:28 +08:00
ide Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
idle simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ieee802154
infiniband IB/core: Fix mismatch between locked and pinned pages 2012-06-01 15:18:17 +08:00
input Input: xpad - add Andamiro Pump It Up pad 2012-07-19 08:58:58 -07:00
iommu iommu/amd: Fix hotplug with iommu=pt 2012-08-09 08:31:32 -07:00
isdn isdn/gigaset: improve error handling querying firmware version 2012-06-01 15:18:14 +08:00
leds drivers/leds: correct __devexit annotations 2012-05-10 15:06:44 -07:00
lguest
macintosh Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
mca
md md/raid1: don't abort a resync on the first badblock. 2012-08-15 08:10:08 -07:00
media media: ene_ir: Fix driver initialisation 2012-08-15 08:10:05 -07:00
memstick
message Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
mfd mfd: Fix build breakage in omap-usb-host.c 2012-05-01 11:55:04 +02:00
misc Merge branch 'akpm' (Andrew's patch-bomb) 2012-04-05 15:30:34 -07:00
mmc mmc: sdhci: fix incorrect command used in tuning 2012-08-09 08:31:27 -07:00
mtd mtd: nandsim: don't open code a do_div helper 2012-07-19 08:58:55 -07:00
net net/tun: fix ioctl() based info leaks 2012-08-09 08:31:51 -07:00
nfc
nubus Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
of gpio: Fix range check in of_gpio_simple_xlate() 2012-04-10 14:20:56 -06:00
oprofile oprofile: perf: use NR_CPUS instead or nr_cpumask_bits for static array 2012-07-16 09:04:21 -07:00
parisc parisc: move definition of PAGE0 to asm/page.h 2012-05-10 15:12:08 -07:00
parport
pci PCI: EHCI: fix crash during suspend on ASUS computers 2012-07-16 09:04:39 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia 2012-03-29 16:00:48 -07:00
pinctrl pinctrl: implement pinctrl_check_ops 2012-04-11 09:31:02 +02:00
platform asus-wmi: use ASUS_WMI_METHODID_DSTS2 as default DSTS ID. 2012-08-15 08:10:04 -07:00
pnp Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2012-03-30 16:45:39 -07:00
power Various small bugfixes and enhancements, plus two new drivers: 2012-03-30 16:09:02 -07:00
pps
ps3
ptp ptp_pch: Add missing #include <linux/slab.h> 2012-05-16 14:44:44 -04:00
rapidio
regulator regulator: core: Release regulator-regulator supplies on error 2012-06-01 15:18:15 +08:00
remoteproc remoteproc: fix missing CONFIG_FW_LOADER configurations 2012-07-16 09:04:25 -07:00
rpmsg rpmsg: fix dependency on initialization order 2012-07-19 08:58:57 -07:00
rtc drivers/rtc/rtc-mxc.c: fix irq enabled interrupts warning 2012-07-16 09:04:44 -07:00
s390 qeth: repair crash in qeth_l3_vlan_rx_kill_vid() 2012-08-09 08:31:38 -07:00
sbus Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
scsi SCSI: Avoid dangling pointer in scsi_requeue_command() 2012-08-09 08:31:28 -07:00
sfi
sh SuperH updates for 3.4 merge window 2012-03-30 00:09:17 -07:00
sn
spi spi/pl022: disable port when unused 2012-08-09 08:31:38 -07:00
ssb
staging staging: zsmalloc: Finish conversion to a separate module 2012-08-09 08:31:37 -07:00
target iscsi-target: Drop bogus struct file usage for iSCSI/SCTP 2012-08-09 08:31:26 -07:00
tc
thermal
tty xen/hvc: Check HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness. 2012-06-22 11:36:54 -07:00
uio
usb USB: echi-dbgp: increase the controller wait time to come out of halt. 2012-08-09 08:31:51 -07:00
uwb uwb: fix error handling 2012-04-18 13:15:51 -07:00
vhost vhost-net: fix handle_rx buffer size 2012-05-11 18:16:57 -04:00
video OMAPDSS: use DSI_FIFO_BUG workaround only for manual update displays 2012-07-16 09:04:27 -07:00
virt
virtio virtio: balloon: let host know of updated balloon size before module removal 2012-05-17 12:14:34 +03:00
vlynq
w1
watchdog hpwdt: Only BYTE reads/writes to WD Timer port 0x72 2012-04-26 14:38:07 +02:00
xen xen: do not map the same GSI twice in PVHVM guests. 2012-06-01 15:18:25 +08:00
zorro
Kconfig Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi 2012-04-02 09:50:40 -07:00
Makefile Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi 2012-04-02 09:50:40 -07:00