Lars Ellenberg
f708bd08ec
drbd: do not block when adjusting "disk-options" while IO is frozen
...
"suspending" IO is overloaded.
It can mean "do not allow new requests" (obviously),
but it also may mean "must not complete pending IO",
for example while the fencing handlers do their arbitration.
When adjusting disk options, we suspend io (disallow new requests), then
wait for the activity-log to become unused (drain all IO completions),
and possibly replace it with a new activity log of different size.
If the other "suspend IO" aspect is active, pending IO completions won't
happen, and we would block forever (unkillable drbdsetup process).
Fix this by skipping the activity log adjustment if the "al-extents"
setting did not change. Also, in case it did change, fail early without
blocking if it looks like we would block forever.
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-12-20 09:51:30 -07:00
..
aoe
aoe: add __exit annotation
2018-12-16 09:01:38 -07:00
drbd
drbd: do not block when adjusting "disk-options" while IO is frozen
2018-12-20 09:51:30 -07:00
mtip32xx
mtip32xx: use BLK_STS_DEV_RESOURCE for device resources
2018-12-10 14:45:19 -07:00
paride
pd: replace ->special use with private data in the request
2018-11-10 08:03:50 -07:00
rsxx
pci-v4.20-changes
2018-10-25 06:50:48 -07:00
xen-blkback
xen/blkback: remove unused pers_gnts_lock from struct xen_blkif_ring
2018-08-27 12:12:04 -04:00
zram
drivers/block: remove redundant 'default n' from Kconfig-s
2018-10-10 14:11:08 -06:00
amiflop.c
amiflop: convert to blk-mq
2018-10-16 09:49:52 -06:00
ataflop.c
ataflop: implement mq_ops->commit_rqs() hook
2018-11-29 10:12:27 -07:00
brd.c
block: brd: associate with queue until adding disk
2018-11-01 19:59:51 -06:00
cryptoloop.c
block: cryptoloop: Remove VLA usage of skcipher
2018-09-28 12:46:07 +08:00
floppy.c
Linux 4.20-rc3
2018-11-18 15:46:03 -07:00
Kconfig
drivers/block: Remove DAC960 driver
2018-10-17 09:42:30 -06:00
loop.c
block: loop: check error using IS_ERR instead of IS_ERR_OR_NULL in loop_add()
2018-12-16 09:01:38 -07:00
loop.h
block/loop: Use global lock for ioctl() operation.
2018-11-08 06:30:11 -07:00
Makefile
drivers/block: Remove DAC960 driver
2018-10-17 09:42:30 -06:00
nbd.c
blk-mq-tag: change busy_iter_fn to return whether to continue or not
2018-11-08 10:24:07 -07:00
null_blk.h
null_blk: Add conventional zone configuration for zoned support
2018-11-07 13:41:50 -07:00
null_blk_main.c
block: remove the lock argument to blk_alloc_queue_node
2018-11-15 12:13:35 -07:00
null_blk_zoned.c
null_blk: Add conventional zone configuration for zoned support
2018-11-07 13:41:50 -07:00
pktcdvd.c
pktcdvd: remove queue_lock around blk_queue_max_hw_sectors
2018-11-16 09:16:59 -07:00
ps3disk.c
ps3disk: convert to blk-mq
2018-10-15 20:07:56 -06:00
ps3vram.c
block: genhd: add 'groups' argument to device_add_disk
2018-09-28 08:30:28 -06:00
rbd.c
libceph, rbd, ceph: move ceph_osdc_alloc_messages() calls
2018-10-22 10:28:22 +02:00
rbd_types.h
skd_main.c
skd_main: don't use req->special
2018-11-10 08:03:47 -07:00
skd_s1120.h
sunvdc.c
sunvdc: Do not spin in an infinite loop when vio_ldc_send() returns EAGAIN
2018-11-28 06:23:12 -07:00
swim.c
swim: convert to blk-mq
2018-10-16 09:49:18 -06:00
swim3.c
swim3: convert to blk-mq
2018-10-16 09:49:36 -06:00
swim_asm.S
sx8.c
sx8: use a per-host tag_set
2018-11-09 08:14:14 -07:00
umem.c
block: remove the lock argument to blk_alloc_queue_node
2018-11-15 12:13:35 -07:00
umem.h
virtio_blk.c
virtio_blk: implement mq_ops->commit_rqs() hook
2018-11-29 10:12:22 -07:00
xen-blkfront.c
xen: fixes for 4.20-rc2
2018-11-10 08:58:48 -06:00
xsysace.c
xsysace: convert to blk-mq
2018-10-15 20:08:24 -06:00
z2ram.c
powerpc updates for 4.20
2018-10-26 14:36:21 -07:00