From: Nilay Shroff <nilay@linux.ibm.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Keith Busch <kbusch@kernel.org>,
linux-nvme@lists.infradead.org, sagi@grimberg.me,
Jens Axboe <axboe@kernel.dk>,
john.g.garry@oracle.com, wenxiong@linux.ibm.com,
gjoyce@linux.ibm.com
Subject: Re: [PATCH 1/2] nvme: keep transport module referenced while head node is open
Date: Sat, 26 Sep 2026 16:24:38 +0530 [thread overview]
Message-ID: <4159f3a5-4cd8-4518-85aa-c82b68ed359c@linux.ibm.com> (raw)
In-Reply-To: <20260925073835.GA5608@lst.de>
On 9/25/26 1:08 PM, Christoph Hellwig wrote:
> On Tue, Sep 22, 2026 at 09:03:38PM +0530, Nilay Shroff wrote:
>> Hi Christoph, Keith
>>
>> A gent ping on this one...
>> Do you have any further comment/feedback on this one?
>
> I still don't think this is a good idea. Removing the transport is
> valid, and allows to create a valid condition (multipath gendisk without
> paths).
Yes, I agree that a zero-path multipath gendisk is a valid state, and
I think the proposed change does not alter that semantics. With the proposed
change, we only take a reference on the underlying transport module while
the multipath head has active openers. Once the last opener/user goes away, the
transport module reference is dropped, so the transport can still be unloaded
when there are no users of the multipath gendisk. Does that address your
concern, or do you think we should also allow unloading the underlying
transport module while the multipath gendisk has active openers?
The case I'm trying to protect is specifically when the multipath head
is backing the root filesystem. If the intention is that the transport
should be unloadable even with active openers on the multipath gendisk,
perhaps we could make transport module pinning an opt-in nvme-core policy,
enabled through a module parameter (e.g. nvme_core.pin_transport), and
take the transport module reference only when that parameter is enabled.
The parameter would be disabled by default, so this would preserve the
valid zero-path/open-head case and would not generally pin transport
modules merely because the multipath head has active openers.
Any thoughts/suggestions?
Thanks,
--Nilay
next prev parent reply other threads:[~2026-09-26 10:55 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-31 15:19 [PATCH 0/2] nvme: add reference counting for transport modules Nilay Shroff
2026-08-31 15:19 ` [PATCH 1/2] nvme: keep transport module referenced while head node is open Nilay Shroff
2026-09-01 16:39 ` Keith Busch
2026-09-02 4:55 ` Nilay Shroff
2026-09-02 0:20 ` Wen Xiong
2026-09-02 13:31 ` Christoph Hellwig
2026-09-02 14:09 ` Nilay Shroff
2026-09-02 14:13 ` Christoph Hellwig
2026-09-02 14:25 ` Keith Busch
2026-09-02 14:27 ` Nilay Shroff
2026-09-13 14:03 ` Nilay Shroff
2026-09-22 15:33 ` Nilay Shroff
2026-09-25 7:38 ` Christoph Hellwig
2026-09-26 10:54 ` Nilay Shroff [this message]
2026-08-31 15:19 ` [PATCH 2/2] nvme: add context annotation for nvme_ns_head::nr_openers Nilay Shroff
2026-09-01 8:14 ` [PATCH 0/2] nvme: add reference counting for transport modules John Garry
2026-09-01 9:47 ` Nilay Shroff
2026-09-01 10:14 ` John Garry
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=4159f3a5-4cd8-4518-85aa-c82b68ed359c@linux.ibm.com \
--to=nilay@linux.ibm.com \
--cc=axboe@kernel.dk \
--cc=gjoyce@linux.ibm.com \
--cc=hch@lst.de \
--cc=john.g.garry@oracle.com \
--cc=kbusch@kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=sagi@grimberg.me \
--cc=wenxiong@linux.ibm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox