Linux-NVME Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/2] nvme: use local limits for namespace heads
@ 2026-07-20  2:22 Yao Sang
  2026-07-20  2:22 ` [PATCH v1 1/2] nvme: factor namespace-head queue-limit update Yao Sang
  2026-07-20  2:22 ` [PATCH v1 2/2] nvme: stop using queue_limits_stack_bdev for namespace heads Yao Sang
  0 siblings, 2 replies; 5+ messages in thread
From: Yao Sang @ 2026-07-20  2:22 UTC (permalink / raw)
  To: kbusch, axboe, hch, sagi, linux-nvme; +Cc: Yao Sang

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/20260709084826.3208740-1-sangyao@kylinos.cn

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



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-07-20 14:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-20  2:22 [PATCH v1 0/2] nvme: use local limits for namespace heads Yao Sang
2026-07-20  2:22 ` [PATCH v1 1/2] nvme: factor namespace-head queue-limit update Yao Sang
2026-07-20 14:42   ` Christoph Hellwig
2026-07-20  2:22 ` [PATCH v1 2/2] nvme: stop using queue_limits_stack_bdev for namespace heads Yao Sang
2026-07-20 14:46   ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox