[PATCH 0/4] nvme: NSHEAD_DISK_LIVE fixes

Hannes Reinecke hare at kernel.org
Mon Sep 2 04:15:44 PDT 2024


Hi all,

I'm have a testcase which does a repeated map/unmap of namespaces and
changing the UUID for each namespace after unmapping.
This leads to an unrecoverable system where the scanning processes
are stuck in 'device_add_disk()' waiting for I/O which will never come
as the I/O is doing ping-pong between the namespace (which cannot
do I/O as the path is inaccessible) and the ns_head (which is not
live and hence can't do I/O, either).
With this patchset (and the queue freeze patchset from hch) the problem
is resolved and the testcase runs without issues.
I see to get the testcase added to blktests.

As usual, comments and reviews are welcome.

Hannes Reinecke (4):
  nvme-multipath: fixup typo when clearing DISK_LIVE
  nvme-multipath: clear 'NVME_NSHEAD_DISK_LIVE' bit on shutdown
  nvme-multipath: check for NVME_NSHEAD_DISK_LIVE when selecting paths
  nvme: remove existing namespace on ID mismatch

 drivers/nvme/host/core.c      |  4 +++-
 drivers/nvme/host/multipath.c | 10 ++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

-- 
2.35.3




More information about the Linux-nvme mailing list