| From: |
| Christoph Hellwig <hch-AT-lst.de> |
| To: |
| Jens Axboe <axboe-AT-kernel.dk>, Mike Snitzer <snitzer-AT-kernel.org>, Mikulas Patocka <mpatocka-AT-redhat.com>, Song Liu <song-AT-kernel.org>, Yu Kuai <yukuai3-AT-huawei.com> |
| Subject: |
| atomic queue limit updates for stackable devices v3 |
| Date: |
| Wed, 28 Feb 2024 14:56:39 -0800 |
| Message-ID: |
| <20240228225653.947152-1-hch@lst.de> |
| Cc: |
| dm-devel-AT-lists.linux.dev, linux-block-AT-vger.kernel.org, linux-raid-AT-vger.kernel.org |
| Archive-link: |
| Article |
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(-)