Hi Jens, this series cleans up our main per-device node data structure by merging the block_device and hd_struct data structures that have the same scope, but different life times. The main effect (besides removing lots of code) is that instead of having two device sizes that need complex synchronization there is just one now. Note that it depends on the previous "misc cleanups" series. A git tree is available here: git://git.infradead.org/users/hch/block.git bdev-lookup Gitweb: http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/bdev-lookup Diffstat: block/bio.c | 6 block/blk-cgroup.c | 50 +- block/blk-core.c | 85 +-- block/blk-flush.c | 2 block/blk-iocost.c | 36 - block/blk-lib.c | 2 block/blk-merge.c | 6 block/blk-mq.c | 11 block/blk-mq.h | 5 block/blk.h | 92 ---- block/genhd.c | 444 +++++--------------- block/ioctl.c | 7 block/partitions/core.c | 238 +++-------- drivers/block/drbd/drbd_receiver.c | 2 drivers/block/drbd/drbd_worker.c | 2 drivers/block/loop.c | 21 drivers/block/nbd.c | 6 drivers/block/xen-blkback/common.h | 4 drivers/block/xen-blkfront.c | 20 drivers/block/zram/zram_drv.c | 20 drivers/md/bcache/request.c | 4 drivers/md/bcache/super.c | 53 -- drivers/md/dm-table.c | 9 drivers/md/dm.c | 16 drivers/md/md.c | 8 drivers/mtd/mtdsuper.c | 17 drivers/nvme/target/admin-cmd.c | 20 drivers/s390/block/dasd.c | 8 drivers/s390/block/dasd_ioctl.c | 9 drivers/scsi/scsicam.c | 2 drivers/target/target_core_file.c | 6 drivers/target/target_core_pscsi.c | 7 drivers/usb/gadget/function/storage_common.c | 8 fs/block_dev.c | 578 ++++++++------------------- fs/btrfs/sysfs.c | 15 fs/btrfs/volumes.c | 13 fs/ext4/super.c | 18 fs/ext4/sysfs.c | 10 fs/f2fs/checkpoint.c | 5 fs/f2fs/f2fs.h | 2 fs/f2fs/super.c | 8 fs/f2fs/sysfs.c | 9 fs/inode.c | 3 fs/internal.h | 7 fs/io_uring.c | 10 fs/pipe.c | 5 fs/pstore/blk.c | 2 fs/quota/quota.c | 40 + fs/statfs.c | 2 fs/super.c | 86 ---- include/linux/blk-cgroup.h | 4 include/linux/blk_types.h | 26 + include/linux/blkdev.h | 24 - include/linux/fs.h | 5 include/linux/genhd.h | 104 ---- include/linux/part_stat.h | 17 init/do_mounts.c | 271 +++++------- kernel/trace/blktrace.c | 54 -- mm/filemap.c | 9 59 files changed, 837 insertions(+), 1716 deletions(-)