linux/drivers/md/bcache
Christoph Hellwig 3e08773c38 block: switch polling to be bio based
Replace the blk_poll interface that requires the caller to keep a queue
and cookie from the submissions with polling based on the bio.

Polling for the bio itself leads to a few advantages:

 - the cookie construction can made entirely private in blk-mq.c
 - the caller does not need to remember the request_queue and cookie
   separately and thus sidesteps their lifetime issues
 - keeping the device and the cookie inside the bio allows to trivially
   support polling BIOs remapping by stacking drivers
 - a lot of code to propagate the cookie back up the submission path can
   be removed entirely.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Mark Wunderlich <mark.wunderlich@intel.com>
Link: https://lore.kernel.org/r/20211012111226.760968-15-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-10-18 06:17:36 -06:00
..
alloc.c bcache: remove PTR_CACHE 2021-04-11 08:37:55 -06:00
bcache.h bcache: remove bcache device self-defined readahead 2021-06-08 15:06:03 -06:00
bset.c bcache: Avoid comma separated statements 2021-02-10 08:06:00 -07:00
bset.h bcache: explicity type cast in bset_bkey_last() 2020-02-01 07:55:39 -07:00
btree.c bcache: use bvec_virt 2021-08-16 10:50:33 -06:00
btree.h bcache: remove embedded struct cache_sb from struct cache_set 2020-10-02 14:25:30 -06:00
closure.c bcache: Convert to DEFINE_SHOW_ATTRIBUTE 2020-10-02 14:25:29 -06:00
closure.h
debug.c bcache: fix a regression of code compiling failure in debug.c 2021-04-11 08:37:56 -06:00
debug.h
extents.c bcache: remove PTR_CACHE 2021-04-11 08:37:55 -06:00
extents.h
features.c bcache: use NULL instead of using plain integer as pointer 2021-04-11 08:37:56 -06:00
features.h bcache: only check feature sets when sb->version >= BCACHE_SB_VERSION_CDEV_WITH_FEATURES 2021-01-28 07:35:07 -07:00
io.c bcache: remove PTR_CACHE 2021-04-11 08:37:55 -06:00
journal.c md: bcache: Trivial typo fixes in the file journal.c 2021-04-11 08:37:56 -06:00
journal.h
Kconfig block: make the block holder code optional 2021-08-09 11:50:42 -06:00
Makefile bcache: add sysfs file to display feature sets information of cache set 2020-07-25 07:38:21 -06:00
movinggc.c bcache: remove for_each_cache() 2020-10-02 14:25:29 -06:00
request.c block: switch polling to be bio based 2021-10-18 06:17:36 -06:00
request.h block: switch polling to be bio based 2021-10-18 06:17:36 -06:00
stats.c bcache: remove bcache device self-defined readahead 2021-06-08 15:06:03 -06:00
stats.h bcache: remove bcache device self-defined readahead 2021-06-08 15:06:03 -06:00
super.c bcache: move the del_gendisk call out of bcache_device_free 2021-08-12 10:29:36 -06:00
sysfs.c bcache: remove bcache device self-defined readahead 2021-06-08 15:06:03 -06:00
sysfs.h
trace.c
util.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
util.h block: move some macros to blkdev.h 2021-08-11 19:40:28 -06:00
writeback.c bcache: Use 64-bit arithmetic instead of 32-bit 2021-04-11 08:37:56 -06:00
writeback.h bcache: consider the fragmentation when update the writeback rate 2021-02-10 08:05:59 -07:00