linux/drivers/block/drbd
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
..
drbd_actlog.c block: switch bios to blk_status_t 2017-06-09 09:27:32 -06:00
drbd_bitmap.c block: switch bios to blk_status_t 2017-06-09 09:27:32 -06:00
drbd_debugfs.c drbd: make intelligent use of blkdev_issue_zeroout 2017-04-08 11:25:38 -06:00
drbd_debugfs.h drbd: debugfs: add basic hierarchy 2014-07-10 18:35:16 +02:00
drbd_int.h block: switch bios to blk_status_t 2017-06-09 09:27:32 -06:00
drbd_interval.c drbd: use RB_DECLARE_CALLBACKS() to define augment callbacks 2014-09-18 09:00:17 -06:00
drbd_interval.h drbd: code cleanups without semantic changes 2016-06-13 21:43:07 -06:00
drbd_main.c blk: make the bioset rescue_workqueue optional. 2017-06-18 12:40:59 -06:00
drbd_nl.c block: remove the discard_zeroes_data flag 2017-04-08 11:25:38 -06:00
drbd_nla.c netlink: pass extended ACK struct to parsing functions 2017-04-13 13:58:22 -04:00
drbd_nla.h
drbd_proc.c block: Use pointer to backing_dev_info from request_queue 2017-02-02 08:20:48 -07:00
drbd_protocol.h drbd: introduce WRITE_SAME support 2016-06-13 21:43:07 -06:00
drbd_receiver.c block: switch bios to blk_status_t 2017-06-09 09:27:32 -06:00
drbd_req.c blk: remove bio_set arg from blk_queue_split() 2017-06-18 12:40:59 -06:00
drbd_req.h drbd: introduce WRITE_SAME support 2016-06-13 21:43:07 -06:00
drbd_state_change.h drbd: Backport the "events2" command 2015-11-25 09:22:00 -07:00
drbd_state.c drbd: get rid of empty statement in is_valid_state 2016-06-13 21:43:07 -06:00
drbd_state.h drbd: code cleanups without semantic changes 2016-06-13 21:43:07 -06:00
drbd_strings.c drbd: code cleanups without semantic changes 2016-06-13 21:43:07 -06:00
drbd_strings.h drbd: Move string function prototypes from linux/drbd.h to drbd_string.h 2014-02-17 16:50:37 +01:00
drbd_vli.h
drbd_worker.c block: switch bios to blk_status_t 2017-06-09 09:27:32 -06:00
Kconfig drbd: update Kconfig to match current dependencies 2012-12-06 13:08:29 +01:00
Makefile drbd: debugfs: add basic hierarchy 2014-07-10 18:35:16 +02:00