Hi all, this series adds new helpers for the atomic queue limit update functionality and then switches dm and md over to it. The dm switch is pretty trivial as it was basically implementing the model by hand already, md is a bit more work. I've run the mdadm testsuite, and it has the same (rather large) number of failures as the baseline, and the lvm2 test suite goes as far as the baseline before handing in __md_stop_writes. nvme-multipath will be handled separately as it is too tightly integrated with the rest of nvme. Changes since v2: - drop drbd from this series again for now as we've not made any review progress - keep the NULL gendisk checks for DM-mapped MD devices, and add a few helpers to better document and abstract them - use mddev_suspend instead of blk_mq_freeze_queue around updating io_opt Changes since v1: - a few kerneldoc fixes - fix a line remove after testing in raid0 - also add drbd Diffstat: block/blk-mq.c | 14 ++- block/blk-settings.c | 47 +++++++++---- drivers/md/dm-table.c | 27 +++---- drivers/md/md-bitmap.c | 9 -- drivers/md/md.c | 89 ++++++++++++++++++------- drivers/md/md.h | 28 +++++++ drivers/md/raid0.c | 42 ++++++----- drivers/md/raid1.c | 51 ++++++-------- drivers/md/raid10.c | 85 +++++++++++------------ drivers/md/raid5-ppl.c | 3 drivers/md/raid5.c | 174 +++++++++++++++++++++++-------------------------- include/linux/blkdev.h | 5 - 12 files changed, 321 insertions(+), 253 deletions(-)