alistair23-linux/drivers/block
NeilBrown 47e0fb461f blk: make the bioset rescue_workqueue optional.
This patch converts bioset_create() to not create a workqueue by
default, so alloctions will never trigger punt_bios_to_rescuer().  It
also introduces a new flag BIOSET_NEED_RESCUER which tells
bioset_create() to preserve the old behavior.

All callers of bioset_create() that are inside block device drivers,
are given the BIOSET_NEED_RESCUER flag.

biosets used by filesystems or other top-level users do not
need rescuing as the bio can never be queued behind other
bios.  This includes fs_bio_set, blkdev_dio_pool,
btrfs_bioset, xfs_ioend_bioset, and one allocated by
target_core_iblock.c.

biosets used by md/raid do not need rescuing as
their usage was recently audited and revised to never
risk deadlock.

It is hoped that most, if not all, of the remaining biosets
can end up being the non-rescued version.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Credit-to: Ming Lei <ming.lei@redhat.com> (minor fixes)
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2017-06-18 12:40:59 -06:00
..
aoe block: switch bios to blk_status_t 2017-06-09 09:27:32 -06:00
drbd blk: make the bioset rescue_workqueue optional. 2017-06-18 12:40:59 -06:00
mtip32xx blk-mq: switch ->queue_rq return value to blk_status_t 2017-06-09 09:27:32 -06:00
paride block: introduce new block status code type 2017-06-09 09:27:32 -06:00
rsxx blk: remove bio_set arg from blk_queue_split() 2017-06-18 12:40:59 -06:00
xen-blkback block: switch bios to blk_status_t 2017-06-09 09:27:32 -06:00
zram zram: reduce load operation in page_same_filled 2017-05-03 15:52:11 -07:00
amiflop.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
ataflop.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
brd.c libnvdimm for 4.12 2017-05-05 18:49:20 -07:00
cciss.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
cciss.h SCSI misc on 20170220 2017-02-21 11:51:42 -08:00
cciss_cmd.h
cciss_scsi.c cciss: Remove kmalloc cast 2017-02-22 11:54:49 -07:00
cciss_scsi.h
cryptoloop.c
DAC960.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
DAC960.h
floppy.c block: switch bios to blk_status_t 2017-06-09 09:27:32 -06:00
Kconfig libnvdimm for 4.12 2017-05-05 18:49:20 -07:00
loop.c loop: Add PF_LESS_THROTTLE to block/loop device thread. 2017-06-18 09:07:42 -06:00
loop.h loop: support 4k physical blocksize 2017-06-08 08:40:00 -06:00
Makefile block: remove the osdblk driver 2017-04-19 09:10:51 -06:00
nbd.c Linux 4.12-rc5 2017-06-12 08:30:13 -06:00
null_blk.c blk-mq: switch ->queue_rq return value to blk_status_t 2017-06-09 09:27:32 -06:00
pktcdvd.c blk: remove bio_set arg from blk_queue_split() 2017-06-18 12:40:59 -06:00
ps3disk.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
ps3vram.c blk: remove bio_set arg from blk_queue_split() 2017-06-18 12:40:59 -06:00
rbd.c Linux 4.12-rc5 2017-06-12 08:30:13 -06:00
rbd_types.h
skd_main.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
skd_s1120.h
smart1,2.h
sunvdc.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
swim.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
swim3.c block: swim3: make of_device_ids const. 2017-06-16 09:49:13 -06:00
swim_asm.S
sx8.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
umem.c blk: remove bio_set arg from blk_queue_split() 2017-06-18 12:40:59 -06:00
umem.h
virtio_blk.c blk-mq: switch ->queue_rq return value to blk_status_t 2017-06-09 09:27:32 -06:00
xen-blkfront.c block: switch bios to blk_status_t 2017-06-09 09:27:32 -06:00
xsysace.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00
z2ram.c block: introduce new block status code type 2017-06-09 09:27:32 -06:00