lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b2c9df64-0afc-46cd-9e8d-6a3f41a4f1c7@linux.ibm.com>
Date: Fri, 7 Mar 2025 20:49:09 +0530
From: Nilay Shroff <nilay@...ux.ibm.com>
To: Keith Busch <kbusch@...nel.org>, Christoph Hellwig <hch@....de>
Cc: Hannes Reinecke <hare@...e.de>, Sagi Grimberg <sagi@...mberg.me>,
        John Meneghini <jmeneghi@...hat.com>, bmarzins@...hat.com,
        Bryan Gurney <bgurney@...hat.com>, linux-nvme@...ts.infradead.org,
        linux-kernel@...r.kernel.org, Marco Patalano <mpatalan@...hat.com>,
        axboe@...nel.dk
Subject: Re: [PATCH] nvme: remove multipath module parameter



On 3/7/25 6:16 AM, Keith Busch wrote:
> On Thu, Mar 06, 2025 at 04:16:54PM +0100, Christoph Hellwig wrote:
>> On Thu, Mar 06, 2025 at 08:01:19AM -0700, Keith Busch wrote:
>>
>>> Or consider a true multiport PCIe where each port connects to a
>>> different host. Each host sees a single port so they're not using
>>> multipath capabilities, and the admin wants the MD behavior that removes
>>> a disk on hot plug. Or even if one host sees both paths of a multiport
>>> PCIe, they still might want that hot plug behavior. The module parameter
>>> makes that possible, so some equivalent should be available before
>>> removing it.
>>
>> A module-wide parameter is absolutely the wrong way to configure it.
>> You'd ad best want it per-controller or even per-namespace.  One
>> tradeoff would be to disable the multipath code for private namespaces,
>> although that would cause problems when rescanning changes the flag.
> 
> It's not really about private vs. shared namespaces, though. There
> really is no programatic way for the driver to know what behavior the
> admin needs out of their system without user input. If you don't want a
> module parameter, then the driver will just have to default to
> something, then the user will have to do something to change it later.
> Not very pleasant compared to a simple one time boot parameter.
> 
I think always creating multipath head node even for the disk which doesn't 
have CMIC/NMIC capability should be useful. That way, we may then be able 
to remove multipath module parameter? In fact, you already mentioned about
it in one of your previous message. I see two approaches (one of them you 
proposed and another one Christoph proposed: 
https://lore.kernel.org/linux-nvme/Y+1aKcQgbskA2tra@kbusch-mbp.dhcp.thefacebook.com/). 

Maybe in first cut we should create multipath head disk node always for 
single/multi ported NVMe disk. Later we may enhance it and allow pinning the 
head node for hotplug events so that head node dev name remains consistent 
across disk add/remove hotplug events.

Thanks,
--Nilay

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ