[PATCH v1 0/2] nvme: use local limits for namespace heads
Yao Sang <[email protected]>
| Newsgroups | org.infradead.lists.linux-nvme |
|---|---|
| Message-ID | <[email protected]> |
Hi everyone, NVMe native multipath refreshes namespace-head queue limits whenever namespace information is updated. The current path uses queue_limits_stack_bdev(), then overrides selected NVMe configuration fields afterwards. queue_limits_stack_bdev() also applies offset and alignment handling intended for stacked devices. An NVMe namespace head has a different relationship with its underlying devices: every path reaches the same namespace rather than a separately mapped lower device. Its limit update therefore needs to refresh Identify-derived configuration, combine path-dependent request limits conservatively, and retain user-set queue limits. This series makes that distinction explicit in two steps. Patch 1 moves the existing namespace-head update into a local helper without changing its behavior. Patch 2 then replaces the generic stacking operation with NVMe-specific handling for configuration, features, and request limits. Testing: - blktests nvme/004, 005, 006, 008, 010, 012, 014, 016, 017, 018, 019, 021, 022, 023, 025, 026, 027, 028, 029, 030, 031, 040, 041, 042, 043, 044, 045, 049, 051, 052, 053, 054, 057, 058, 059, 065, 067 and 068 passed. - blktests zbd/001, 003, 004, 005, 006, 008, 009, 011, 012, and 013 passed. - blktests block/003, 004, and 012, and scsi/009 and 010 passed. - xfstests xfs/643, xfs/646, generic/765, and generic/773 passed. Changes since RFC: - rebase from nvme-7.2 to nvme-7.3; - keep the thread kernel-only Link: https://lore.kernel.org/r/[email protected] Thanks, Yao Yao Sang (2): nvme: factor namespace-head queue-limit update nvme: stop using queue_limits_stack_bdev for namespace heads drivers/nvme/host/core.c | 196 ++++++++++++++++++++++++++++----------- 1 file changed, 143 insertions(+), 53 deletions(-) -- 2.25.1