simplify gendisk and request_queue allocation for bio based drivers

Christoph Hellwig
2021-05-21T05:51:47Z

Hi all,

this series is the first part of cleaning up lifetimes and allocation of
the gendisk and request_queue structure. It adds a new interface to
allocate the disk and queue together for bio based drivers, and a helper
for cleanup/free them when a driver is unloaded or a device is removed.

Together this removes the need to treat the gendisk and request_queue
as separate entities for bio based drivers.

Diffstat:
arch/m68k/emu/nfblock.c | 20 +---
arch/xtensa/platforms/iss/simdisk.c | 29 +------
block/blk-core.c | 1
block/blk.h | 6 -
block/genhd.c | 149 +++++++++++++++++++-----------------
block/partitions/core.c | 19 ++--
drivers/block/brd.c | 94 +++++++---------------
drivers/block/drbd/drbd_main.c | 23 +----
drivers/block/n64cart.c | 8 -
drivers/block/null_blk/main.c | 38 ++++-----
drivers/block/pktcdvd.c | 11 --
drivers/block/ps3vram.c | 31 +------
drivers/block/rsxx/dev.c | 39 +++------
drivers/block/rsxx/rsxx_priv.h | 1
drivers/block/zram/zram_drv.c | 19 ----
drivers/lightnvm/core.c | 24 +----
drivers/md/bcache/super.c | 15 ---
drivers/md/dm.c | 16 +--
drivers/md/md.c | 25 ++----
drivers/memstick/core/ms_block.c | 1
drivers/nvdimm/blk.c | 27 +-----
drivers/nvdimm/btt.c | 25 +-----
drivers/nvdimm/btt.h | 2
drivers/nvdimm/pmem.c | 17 +---
drivers/nvme/host/core.c | 1
drivers/nvme/host/multipath.c | 46 +++--------
drivers/s390/block/dcssblk.c | 26 +-----
drivers/s390/block/xpram.c | 26 ++----
include/linux/blkdev.h | 1
include/linux/genhd.h | 23 +++++
30 files changed, 297 insertions(+), 466 deletions(-)