From: Hannes Reinecke <hare@kernel.org>
To: Christoph Hellwig <hch@lst.de>
Cc: Sagi Grimberg <sagi@grimberg.me>, Keith Busch <kbusch@kernel.org>,
linux-nvme@lists.infradead.org, Hannes Reinecke <hare@kernel.org>
Subject: [PATCH 0/3] nvme-multipath: fix deadlock in device_add_disk()
Date: Mon, 7 Oct 2024 12:01:31 +0200 [thread overview]
Message-ID: <20241007100134.21104-1-hare@kernel.org> (raw)
Hi all,
I'm having a testcase which repeatedly disables namespaces on the target
assigning new UUID (to simulate namespace remapping) and enable that
namespace again.
To throw in more fun these namespaces have their ANA group ID changes
to simulate namespace moving around in a cluster, where only the paths
local to the cluster node are active, and all other paths are inaccessible.
Essentially it's doing something like:
echo 0 > ${ns}/enable
<random delay>
echo "<dev>" > ${ns}/device_path
echo "<grpid>" > ${ns}/ana_grpid
uuidgen > ${ns}/device_uuid
echo 1 > ${ns}/enable
ie a similar testcase than the previous patchset, only this time I'm
just doing an 'enable/disable' bit without removing the namespace from
the target.
This is causing lockups in device_add_disk(), as the partition scan is
constantly retrying I/O and never completes.
Funnily enough the very same issue should have been fixed with
ecca390e8056 ("nvme: fix deadlock in disconnect during scan_work
and/or ana_work"), but that fix seem to be imperfect.
As usual, comments and reviews are welcome.
Hannes Reinecke (3):
nvme-multipath: simplify loop in nvme_update_ana_state()
nvme-multipath: cannot disconnect controller on stuck partition scan
nvme-multipath: skip failed paths during partition scan
drivers/nvme/host/multipath.c | 51 ++++++++++++++++++++++++++---------
drivers/nvme/host/nvme.h | 1 +
2 files changed, 40 insertions(+), 12 deletions(-)
--
2.35.3
next reply other threads:[~2024-10-07 10:02 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-07 10:01 Hannes Reinecke [this message]
2024-10-07 10:01 ` [PATCH 1/3] nvme-multipath: simplify loop in nvme_update_ana_state() Hannes Reinecke
2024-10-07 15:46 ` Keith Busch
2024-10-08 6:39 ` Christoph Hellwig
2024-10-20 23:33 ` Sagi Grimberg
2024-10-07 10:01 ` [PATCH 2/3] nvme-multipath: cannot disconnect controller on stuck partition scan Hannes Reinecke
2024-10-07 18:19 ` Keith Busch
2024-10-08 6:43 ` Christoph Hellwig
2024-10-08 7:17 ` Hannes Reinecke
2024-10-08 20:41 ` Keith Busch
2024-10-09 6:23 ` Hannes Reinecke
2024-10-09 16:33 ` Keith Busch
2024-10-09 17:10 ` Keith Busch
2024-10-09 17:32 ` Keith Busch
2024-10-10 6:16 ` Hannes Reinecke
2024-10-10 7:18 ` Hannes Reinecke
2024-10-10 8:17 ` Christoph Hellwig
2024-10-10 8:57 ` Hannes Reinecke
2024-10-15 14:33 ` Keith Busch
2024-10-15 14:56 ` Hannes Reinecke
2024-10-15 15:10 ` Keith Busch
2024-10-20 23:37 ` Sagi Grimberg
2024-10-07 10:01 ` [PATCH 3/3] nvme-multipath: skip failed paths during " Hannes Reinecke
2024-10-08 6:40 ` Christoph Hellwig
2024-10-20 23:38 ` Sagi Grimberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241007100134.21104-1-hare@kernel.org \
--to=hare@kernel.org \
--cc=hch@lst.de \
--cc=kbusch@kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=sagi@grimberg.me \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.