android_kernel_google_msm/drivers/block
Philipp Reisner 2e0bc33ad7 drbd: fix for deadlock when using automatic split-brain-recovery
commit 7c689e63a8 upstream.

With an automatic after split-brain recovery policy of
"after-sb-1pri call-pri-lost-after-sb",
when trying to drbd_set_role() to R_SECONDARY,
we run into a deadlock.

This was first recognized and supposedly fixed by
2009-06-10 "Fixed a deadlock when using automatic split brain recovery when both nodes are"
replacing drbd_set_role() with drbd_change_state() in that code-path,
but the first hunk of that patch forgets to remove the drbd_set_role().

We apparently only ever tested the "two primaries" case.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-05-19 10:54:48 -07:00
..
aoe aoe: reserve enough headroom on skbs 2013-04-05 10:04:40 -07:00
drbd drbd: fix for deadlock when using automatic split-brain-recovery 2013-05-19 10:54:48 -07:00
mtip32xx mtip32xx: release the semaphore on an error path 2012-05-11 16:42:14 +02:00
paride
xen-blkback Revert "xen/blkback: Don't trust the handle from the frontend." 2013-04-05 10:04:52 -07:00
amiflop.c
ataflop.c
brd.c
cciss.c
cciss.h
cciss_cmd.h
cciss_scsi.c cciss: fix handling of protocol error 2012-10-02 10:29:50 -07:00
cciss_scsi.h
cpqarray.c
cpqarray.h
cryptoloop.c
DAC960.c dac960: Remove unused variables from DAC960_CreateProcEntries() 2012-05-11 16:42:14 +02:00
DAC960.h
floppy.c floppy: do put_disk on current dr if blk_init_queue fails 2012-11-05 09:50:41 +01:00
hd.c
ida_cmd.h
ida_ioctl.h
Kconfig
loop.c loop: prevent bdev freeing while device in use 2013-04-05 10:04:35 -07:00
Makefile
mg_disk.c
nbd.c nbd: clear waiting_queue on shutdown 2012-10-02 10:29:59 -07:00
nvme.c NVMe: Fix uninitialized iod compiler warning 2012-12-03 11:46:36 -08:00
osdblk.c
pktcdvd.c
ps3disk.c
ps3vram.c
rbd.c rbd: do not allow remove of mounted-on image 2013-01-17 08:51:21 -08:00
rbd_types.h
smart1,2.h
sunvdc.c sunvdc: Fix off-by-one in generic_request(). 2013-02-28 06:59:02 -08:00
swim.c
swim3.c
swim_asm.S
sx8.c
ub.c
umem.c umem: fix up unplugging 2012-07-16 09:04:08 -07:00
umem.h
virtio_blk.c virtio: fixes on top of 3.4-rc2 2012-04-16 18:34:12 -07:00
xd.c
xd.h
xen-blkfront.c Merge branch 'for-3.4/drivers' of git://git.kernel.dk/linux-block 2012-04-13 18:45:13 -07:00
xsysace.c
z2ram.c