linux-stable/drivers/nvdimm
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
..
badrange.c mm/memremap_pages: convert to 'struct range' 2020-10-13 18:38:28 -07:00
blk.c block: switch polling to be bio based 2021-10-18 06:17:36 -06:00
btt.c block: switch polling to be bio based 2021-10-18 06:17:36 -06:00
btt.h nvdimm-btt: convert to blk_alloc_disk/blk_cleanup_disk 2021-06-01 07:42:23 -06:00
btt_devs.c
bus.c bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
claim.c libnvdimm: Cleanup include of badblocks.h 2020-12-15 21:47:45 -08:00
core.c block: move integrity handling out of <linux/blkdev.h> 2021-10-18 06:17:02 -06:00
dax_devs.c
dimm.c libnvdimm: Make remove callback return void 2021-02-16 19:35:29 -08:00
dimm_devs.c libnvdimm: Export nvdimm shutdown helper, nvdimm_delete() 2021-06-15 16:47:22 -07:00
e820.c
Kconfig
label.c libnvdimm/labels: Add claim class helpers 2021-08-24 12:08:28 -07:00
label.h libnvdimm/labels: Add claim class helpers 2021-08-24 12:08:28 -07:00
Makefile
namespace_devs.c cxl for v5.15 2021-09-09 11:48:27 -07:00
nd-core.h
nd.h libnvdimm/labels: Add claim class helpers 2021-08-24 12:08:28 -07:00
nd_virtio.c
of_pmem.c
pfn.h
pfn_devs.c mm/memremap_pages: support multiple ranges per invocation 2020-10-13 18:38:28 -07:00
pmem.c block: switch polling to be bio based 2021-10-18 06:17:36 -06:00
pmem.h
region.c libnvdimm: Make remove callback return void 2021-02-16 19:35:29 -08:00
region_devs.c libnvdimm/region: Fix nvdimm_has_flush() to handle ND_REGION_ASYNC 2021-04-09 21:56:01 -07:00
security.c
virtio_pmem.c
virtio_pmem.h