linux-kernelorg-stable/drivers
Nicholas Swenson da415a096f bcache: Fix moving_gc deadlocking with a foreground write
Deadlock happened because a foreground write slept, waiting for a bucket
to be allocated. Normally the gc would mark buckets available for invalidation.
But the moving_gc was stuck waiting for outstanding writes to complete.
These writes used the bcache_wq, the same queue foreground writes used.

This fix gives moving_gc its own work queue, so it was still finish moving
even if foreground writes are stuck waiting for allocation. It also makes
work queue a parameter to the data_insert path, so moving_gc can use its
workqueue for writes.

Signed-off-by: Nicholas Swenson <nks@daterainc.com>
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
2014-03-18 12:22:33 -07:00
..
accessibility
acpi Merge branches 'acpi-dock', 'acpi-scan' and 'acpi-pci-hotplug' 2014-02-12 14:56:58 +01:00
amba
ata
atm
auxdisplay
base drivers/base: fix devres handling for master device 2014-02-07 16:45:14 -08:00
bcma
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2014-02-14 10:45:18 -08:00
bluetooth
bus
cdrom
char Char/Misc fixes for 3.14-rc3 2014-02-14 16:13:00 -08:00
clk
clocksource
connector
cpufreq intel_pstate: Remove energy reporting from pstate_sample tracepoint 2014-02-13 02:11:18 +01:00
cpuidle
crypto crypto/nx/nx-842: Fix handling of vmalloc addresses 2014-02-11 11:24:49 +11:00
dca
devfreq
dio
dma dma: mv_xor: Silence a bunch of LPAE-related warnings 2014-02-12 16:21:17 -08:00
edac EDAC: Correct workqueue setup path 2014-02-14 10:40:47 +01:00
eisa
extcon
firewire
firmware
fmc
gpio
gpu Merge branch 'tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-cubox into drm-next 2014-02-12 09:51:51 +10:00
hid
hsi
hv
hwmon hwmon: (ntc_thermistor) Avoid math overflow 2014-02-13 19:43:52 -08:00
hwspinlock
i2c i2c: mv64xxx: refactor message start to ensure proper initialization 2014-02-15 15:42:31 +01:00
ide
idle
iio iio: max1363: Use devm_regulator_get_optional for optional regulator 2014-02-08 11:46:00 +00:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2014-02-15 16:18:47 -08:00
input
iommu
ipack
irqchip
isdn
leds
lguest
macintosh
mailbox
md bcache: Fix moving_gc deadlocking with a foreground write 2014-03-18 12:22:33 -07:00
media
memory
memstick
message drivers/message/i2o/i2o_config.c: fix deadlock in compat_ioctl(I2OGETIOPS) 2014-02-10 16:01:40 -08:00
mfd
misc Char/Misc fixes for 3.14-rc3 2014-02-14 16:13:00 -08:00
mmc
mtd
net RDMA/InfiniBand fixes for 3.14-rc3: 2014-02-14 10:33:45 -08:00
nfc
ntb
nubus
of of: search the best compatible match first in __of_match_node() 2014-02-15 18:51:17 -06:00
oprofile
parisc
parport
pci ACPI / hotplug / PCI: Relax the checking of _STA return values 2014-02-12 12:45:57 +01:00
pcmcia
phy
pinctrl
platform
pnp
power Few fixes: 2014-02-14 10:32:28 -08:00
powercap
pps
ps3
ptp
pwm
rapidio
regulator Merge remote-tracking branches 'regulator/fix/da9055' and 'regulator/fix/max14577' into regulator-linus 2014-02-12 11:47:33 +00:00
remoteproc
reset
rpmsg
rtc
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-02-11 12:23:50 -08:00
sbus
scsi qla2xxx: Remove last vestiges of qla_tgt_cmd.cmd_list 2014-02-12 15:11:03 -08:00
sfi
sh
sn
spi Merge remote-tracking branches 'spi/fix/doc', 'spi/fix/nuc900' and 'spi/fix/rspi' into spi-linus 2014-02-11 12:08:27 +00:00
ssb
staging Staging driver fixes for 3.14-rc3 2014-02-14 16:14:11 -08:00
target Target/sbc: Fix protection copy routine 2014-02-12 15:14:45 -08:00
tc
thermal
tty vt: Fix secure clear screen 2014-02-13 11:12:00 -08:00
uio
usb usb: option: blacklist ZTE MF667 net interface 2014-02-11 15:33:54 -08:00
uwb
vfio
vhost
video video: Kconfig: Allow more broad selection of the imxfb framebuffer driver. 2014-02-14 10:44:52 +02:00
virt
virtio
vlynq
vme
w1
watchdog watchdog: dw_wdt: Add dependency on HAS_IOMEM 2014-02-08 09:47:11 +01:00
xen Bug-fix: 2014-02-12 12:28:05 -08:00
zorro
Kconfig
Makefile