WSL2-Linux-Kernel/drivers
NeilBrown d6b42dcb99 md/raid1,raid10: avoid deadlock during resync/recovery.
If RAID1 or RAID10 is used under LVM or some other stacking
block device, it is possible to enter a deadlock during
resync or recovery.
This can happen if the upper level block device creates
two requests to the RAID1 or RAID10.  The first request gets
processed, blocks recovery and queue requests for underlying
requests in current->bio_list.  A resync request then starts
which will wait for those requests and block new IO.

But then the second request to the RAID1/10 will be attempted
and it cannot progress until the resync request completes,
which cannot progress until the underlying device requests complete,
which are on a queue behind that second request.

So allow that second request to proceed even though there is
a resync request about to start.

This is suitable for any -stable kernel.

Cc: stable@vger.kernel.org
Reported-by: Ray Morris <support@bettercgi.com>
Tested-by: Ray Morris <support@bettercgi.com>
Signed-off-by: NeilBrown <neilb@suse.de>
2012-03-19 12:46:38 +11:00
..
accessibility
acpi ACPI: remove duplicated lines of merging problems with acpi_processor_add 2012-02-08 15:07:03 -08:00
amba
ata pata/at91: use newly introduced SMC accessors 2012-02-13 18:31:37 +01:00
atm drivers/atm/solos-pci.c: exchange pci_iounmaps 2012-02-19 18:57:51 -05:00
auxdisplay
base Fixes a bootstrapping issue for some registers when a less commonly used 2012-02-18 15:37:25 -08:00
bcma bcma: don't fail for bad SPROM CRC 2012-02-06 14:37:52 -05:00
block floppy/scsi: fix setting of BIO flags 2012-03-05 15:49:43 -08:00
bluetooth Bluetooth: btusb: Add vendor specific ID (0a5c 21f3) for BCM20702A0 2012-02-15 13:09:26 +02:00
cdrom cdrom: move shared static to cdrom_device_info 2012-02-08 20:03:14 +01:00
char agp: fix scratch page cleanup 2012-01-26 18:36:48 +00:00
clk
clocksource
connector
cpufreq
cpuidle cpuidle: Default y on powerpc pSeries 2012-02-22 16:48:51 +11:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2012-03-03 09:31:49 -08:00
dca
devfreq
dio
dma i.MX SDMA: Fix burstsize settings 2012-02-02 14:00:43 +05:30
edac asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
eisa
firewire firewire: ohci: disable MSI on Ricoh controllers 2012-01-30 21:33:34 +01:00
firmware
gpio gpio: Add missing spin_lock_init in gpio-ml-ioh driver 2012-02-01 21:59:37 -07:00
gpu drm/radeon/kms: fix hdmi duallink checks 2012-03-08 09:39:54 +00:00
hid HID: hid-input: allow array fields out of range 2012-03-05 10:28:58 +01:00
hv
hwmon hwmon: (jc42) Add support for AT30TS00, TS3000GB2, TSE2002GB2, and MCP9804 2012-03-07 09:48:44 -08:00
hwspinlock
i2c i2c: mxs: only flag completion when queue is completely done 2012-02-24 22:28:27 +01:00
ide ARM: at91: drop ide driver in favor of the pata one 2012-02-13 18:31:37 +01:00
idle ACPI processor hotplug: Delay acpi_processor_start() call for hotplugged cores 2012-01-19 21:26:32 -05:00
ieee802154
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-02-10 14:18:46 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-03-07 08:31:31 -08:00
iommu x86/amd: iommu_set_device_table() must not be __init 2012-03-08 11:36:06 +01:00
isdn isdn: type bug in isdn_net_header() 2012-02-09 15:41:29 -05:00
leds drivers/leds/leds-lm3530.c: fix setting pltfm->als_vmax 2012-02-08 19:03:51 -08:00
lguest
macintosh powerpc/adb: Use set_current_state() 2012-02-16 16:15:12 +11:00
mca
md md/raid1,raid10: avoid deadlock during resync/recovery. 2012-03-19 12:46:38 +11:00
media Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-02-24 12:32:51 -08:00
memstick
message
mfd mfd: Correct readability of WM8994 DC servo 4E register 2012-03-01 01:42:52 +01:00
misc c2port: class_create() returns an ERR_PTR 2012-03-05 15:49:43 -08:00
mmc mmc: core: Fixup suspend/resume issues for UHS-I cards 2012-03-04 12:25:15 -05:00
mtd - Fix a regression in 16-bit Atmel NAND flash which was introduced in 3.1 2012-02-04 07:17:47 -08:00
net net/hyperv: Use the built-in macro KBUILD_MODNAME for this driver 2012-03-08 13:55:27 -08:00
nfc
nubus
of of/mdio: fix fixed link bus name 2012-02-27 10:09:52 -06:00
oprofile
parisc [PARISC] include <linux/prefetch.h> in drivers/parisc/iommu-helpers.h 2012-02-27 09:44:15 -06:00
parport
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-02-18 15:26:11 -08:00
pcmcia ARM: pxa: fix error handling in pxa2xx_drv_pcmcia_probe 2012-02-16 10:41:23 +08:00
pinctrl pinctrl: restore pin naming 2012-02-01 19:35:21 +01:00
platform asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
pnp
power lp8727_charger: Add terminating entry for i2c_device_id table 2012-02-01 21:34:26 +04:00
pps pps: class_create() returns an ERR_PTR, not NULL 2012-03-05 15:49:43 -08:00
ps3
ptp
rapidio rapidio/tsi721: fix queue wrapping bug in inbound doorbell handler 2012-03-05 15:49:43 -08:00
regulator regulator: tps65910: Configure correct value for VDDCTRL vout reg 2012-03-07 19:28:37 +00:00
rtc drivers/rtc/rtc-r9701.c: fix crash in r9701_remove() 2012-03-05 15:49:43 -08:00
s390 [S390] qdio: fix handler function arguments for zfcp data router 2012-03-02 17:33:00 +01:00
sbus
scsi floppy/scsi: fix setting of BIO flags 2012-03-05 15:49:43 -08:00
sfi
sh sh: clkfwk: bugfix: use clk_reparent() for div6 clocks 2012-01-24 10:44:49 +09:00
sn
spi Fix section mismatch in spi-pl022.c 2012-02-13 11:57:58 -07:00
ssb ssb: fix cardbus slot in hostmode 2012-02-01 15:26:00 -05:00
staging staging: pohmelfs: remove drivers/staging/pohmelfs 2012-02-08 16:19:06 -08:00
target target: Fix unsupported WRITE_SAME sense payload 2012-02-07 06:48:58 +00:00
tc
telephony
thermal thermal: Rename generate_netlink_event 2012-01-23 03:15:25 -05:00
tty tty/powerpc: early udbg consoles can't be modules 2012-02-24 16:11:50 -08:00
uio
usb Revert "powerpc/usb: fix issue of CPU halt when missing USB PHY clock" 2012-03-02 16:08:54 -08:00
uwb
vhost
video fbdev fixes for 3.3 2012-03-02 15:21:15 -08:00
virt
virtio virtio: balloon: leak / fill balloon across S4 2012-03-01 09:28:41 +10:30
vlynq
w1
watchdog watchdog: fix GETTIMEOUT ioctl in booke_wdt 2012-02-29 09:46:13 +01:00
xen xenbus_dev: add missing error check to watch handling 2012-02-03 16:07:05 -05:00
zorro
Kconfig
Makefile