Hi Jens, this series simplifies teardown for most block drivers. Right now they also have to call blk_cleanup_queue after calling del_gendisk, making the teardown process rather confusing. Instead this series records if the request_queue is owned by the gendisk, which is always the case except for scsi and dasd or queues without a gendisk at all, and then does the entire teardown in del_gendisk. Note that while intended or 5.20, this series is generated against the block-5.19 branch as that contains fixes in this area that haven't made it to the for-5.10/block branch yet. Diffstat: arch/m68k/emu/nfblock.c | 4 arch/um/drivers/ubd_kern.c | 4 arch/xtensa/platforms/iss/simdisk.c | 4 block/blk-core.c | 43 ----- block/blk-mq-debugfs.c | 8 block/blk-mq.c | 43 ++++- block/blk-sysfs.c | 5 block/blk.h | 3 block/bsg-lib.c | 4 block/genhd.c | 38 +--- drivers/block/amiflop.c | 2 drivers/block/aoe/aoeblk.c | 2 drivers/block/aoe/aoedev.c | 2 drivers/block/ataflop.c | 5 drivers/block/brd.c | 4 drivers/block/drbd/drbd_main.c | 4 drivers/block/floppy.c | 6 drivers/block/loop.c | 3 drivers/block/mtip32xx/mtip32xx.c | 298 +++++------------------------------- drivers/block/mtip32xx/mtip32xx.h | 5 drivers/block/n64cart.c | 2 drivers/block/nbd.c | 4 drivers/block/null_blk/main.c | 4 drivers/block/paride/pcd.c | 4 drivers/block/paride/pd.c | 4 drivers/block/paride/pf.c | 4 drivers/block/pktcdvd.c | 4 drivers/block/ps3disk.c | 4 drivers/block/ps3vram.c | 4 drivers/block/rbd.c | 2 drivers/block/rnbd/rnbd-clt.c | 6 drivers/block/sunvdc.c | 4 drivers/block/swim.c | 2 drivers/block/swim3.c | 2 drivers/block/sx8.c | 6 drivers/block/virtio_blk.c | 3 drivers/block/xen-blkfront.c | 4 drivers/block/z2ram.c | 3 drivers/block/zram/zram_drv.c | 4 drivers/cdrom/gdrom.c | 3 drivers/md/bcache/super.c | 2 drivers/md/dm.c | 2 drivers/md/md.c | 4 drivers/memstick/core/ms_block.c | 3 drivers/memstick/core/mspro_block.c | 3 drivers/mmc/core/block.c | 1 drivers/mmc/core/queue.c | 1 drivers/mtd/mtd_blkdevs.c | 4 drivers/mtd/ubi/block.c | 4 drivers/nvdimm/btt.c | 4 drivers/nvdimm/pmem.c | 4 drivers/nvme/host/apple.c | 2 drivers/nvme/host/core.c | 3 drivers/nvme/host/fc.c | 12 - drivers/nvme/host/multipath.c | 2 drivers/nvme/host/pci.c | 2 drivers/nvme/host/rdma.c | 12 - drivers/nvme/host/tcp.c | 12 - drivers/nvme/target/loop.c | 12 - drivers/s390/block/dasd.c | 2 drivers/s390/block/dasd_genhd.c | 4 drivers/s390/block/dcssblk.c | 8 drivers/s390/block/scm_blk.c | 4 drivers/scsi/scsi_lib.c | 6 drivers/scsi/scsi_sysfs.c | 2 drivers/scsi/sd.c | 4 drivers/scsi/sr.c | 4 drivers/ufs/core/ufshcd.c | 4 include/linux/blk-mq.h | 3 include/linux/blkdev.h | 7 70 files changed, 225 insertions(+), 472 deletions(-)