Hi Jens, this series untangles the worst of the block header maze. It removes various includes from blkdev.h and genhd.h, and also ensures the writeback code doesn't pull in blkdev.h leading to huge rebuilds whenever they change. Finally it moves various bits out of blkdev.h which shouldn't be in the general block layer header. It has surived various randomconfig builds from me and the buildbot, but I suspect there are a few more conditionally missing headers that will emerge later for more oscure configs, so it would be great to get this merged early. Changes since v1: - a few spelling fixes - add a bunch more includes needed for a arc randomconfig Diffstat: arch/mips/rb532/prom.c | 1 arch/mips/sibyte/common/cfe.c | 1 arch/mips/sibyte/swarm/setup.c | 1 arch/openrisc/mm/init.c | 1 arch/powerpc/platforms/cell/spufs/inode.c | 1 arch/um/drivers/ubd_kern.c | 1 block/bdev.c | 1 block/bfq-cgroup.c | 2 block/bfq-iosched.c | 2 block/bio-integrity.c | 2 block/blk-core.c | 1 block/blk-crypto-fallback.c | 1 block/blk-crypto-internal.h | 2 block/blk-integrity.c | 2 block/blk-iolatency.c | 1 block/blk-merge.c | 25 block/blk-mq-sched.h | 1 block/blk-mq-tag.h | 2 block/blk-mq.c | 2 block/blk.h | 40 + block/bounce.c | 1 block/elevator.c | 2 block/elevator.h | 21 block/genhd.c | 1 block/holder.c | 1 block/keyslot-manager.c | 1 block/kyber-iosched.c | 2 block/mq-deadline.c | 2 block/partitions/core.c | 1 block/t10-pi.c | 2 drivers/block/amiflop.c | 2 drivers/block/ataflop.c | 1 drivers/block/floppy.c | 1 drivers/block/rnbd/rnbd-proto.h | 2 drivers/block/swim.c | 1 drivers/block/xen-blkfront.c | 1 drivers/gpu/drm/i915/i915_utils.h | 1 drivers/md/dm-bio-record.h | 1 drivers/md/dm-crypt.c | 1 drivers/md/dm-ima.c | 1 drivers/md/dm-ps-historical-service-time.c | 1 drivers/md/dm-rq.c | 1 drivers/md/dm-table.c | 1 drivers/md/dm-verity-target.c | 1 drivers/md/md.c | 2 drivers/mmc/core/sd.c | 1 drivers/mtd/mtdsuper.c | 1 drivers/nvdimm/core.c | 1 drivers/nvme/host/core.c | 1 drivers/nvme/host/pci.c | 1 drivers/nvme/host/rdma.c | 1 drivers/nvme/target/io-cmd-bdev.c | 1 drivers/nvme/target/rdma.c | 1 drivers/s390/block/dasd_genhd.c | 1 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 1 drivers/scsi/lpfc/lpfc.h | 1 drivers/scsi/scsi_lib.c | 1 drivers/scsi/sd.c | 1 drivers/scsi/sd_dif.c | 2 drivers/scsi/sg.c | 1 drivers/scsi/sr.c | 1 drivers/scsi/st.c | 1 drivers/scsi/virtio_scsi.c | 1 drivers/target/target_core_file.c | 1 drivers/target/target_core_iblock.c | 2 fs/btrfs/compression.c | 1 fs/btrfs/ctree.c | 1 fs/btrfs/inode.c | 1 fs/f2fs/compress.c | 1 fs/ntfs/file.c | 1 fs/ntfs3/file.c | 1 fs/orangefs/inode.c | 2 fs/orangefs/super.c | 1 fs/quota/quota.c | 1 fs/ramfs/inode.c | 1 include/linux/backing-dev.h | 19 include/linux/blk-integrity.h | 183 +++++++ include/linux/blk-mq.h | 465 ++++++++++++++++++ include/linux/blk_types.h | 2 include/linux/blkdev.h | 743 ----------------------------- include/linux/blktrace_api.h | 2 include/linux/genhd.h | 14 include/linux/part_stat.h | 1 include/linux/t10-pi.h | 2 include/linux/writeback.h | 14 include/scsi/scsi_device.h | 2 init/main.c | 1 kernel/acct.c | 1 kernel/exit.c | 1 kernel/fork.c | 1 kernel/sched/core.c | 2 kernel/sched/sched.h | 1 lib/random32.c | 1 mm/backing-dev.c | 19 mm/filemap.c | 1 mm/highmem.c | 1 mm/mempool.c | 1 mm/nommu.c | 1 mm/readahead.c | 1 mm/shmem.c | 1 mm/swapfile.c | 2 101 files changed, 832 insertions(+), 825 deletions(-)