Hi all, The device mapper code currently has a somewhat odd gendisk registration scheme where it calls add_disk early, but uses a special flag to skip the "queue registration", which is a major part of add_disk. This series improves the block layer holder tracking to work on an entirely unregistered disk and thus allows device mapper to use the normal scheme of calling add_disk when it is ready to accept I/O. Note that this leads to a user visible change - the sysfs attributes on the disk and the dm directory hanging off it are not only visible once the initial table is loaded. This did not make a different to my testing using dmsetup and the lvm2 tools. Changes since v1: - rebased on the lastes for-5.15/block tree - improve various commit messages, including commit references Diffstat: block/Kconfig | 4 + block/Makefile | 1 block/elevator.c | 1 block/genhd.c | 42 +++++------ block/holder.c | 167 ++++++++++++++++++++++++++++++++++++++++++++++ drivers/md/Kconfig | 2 drivers/md/bcache/Kconfig | 1 drivers/md/dm-ioctl.c | 4 - drivers/md/dm-rq.c | 1 drivers/md/dm.c | 32 +++----- fs/block_dev.c | 145 --------------------------------------- include/linux/blk_types.h | 3 include/linux/genhd.h | 19 ++--- 13 files changed, 219 insertions(+), 203 deletions(-)