[PATCH] nvme: remove multipath module parameter

Nilay Shroff nilay at linux.ibm.com
Wed Feb 19 06:47:25 PST 2025



On 2/18/25 10:45 PM, Keith Busch wrote:
> On Tue, Feb 18, 2025 at 11:31:58AM -0500, John Meneghini wrote:
>> On 2/18/25 10:06 AM, Keith Busch wrote:
>>> On Thu, Feb 13, 2025 at 03:37:28PM -0500, John Meneghini wrote:
>>>> Keith, Christoph and Sagi,
>>>>
>>>> This patch has been fully tested and analyzed by Red Hat's QA group and no
>>>> unexpected side effects or regressions have been found. Both NVMe/FC and NVMe/TCP
>>>> have been tested. Our QE engineer has asked me to report this upstream.
>>>
>>> What's the harm in leaving the parameter? *I* use it so I can test both
>>> ways without needing to compile multiple kernels.
>>
>> LOL.  We've been talking about this since 2017. The goal has always been to remove support for DMMP with NVMe.
> 
> I understand that disabling nvme native mp it is required for device
> mapper, and I get you want to prevent the possibility of anyone using
> dm-mp with nvme, but that isn't the only user that wants to see all
> namespace paths.
>  
Agreed! I do have nvme multi-controller disks and I toggle multipath module parameter to
test it both ways. One with each individual path to a shared namespace and another with 
a single head node path and then let IO policy determine which path to choose for sending
IO to disk. 
In fact, we have few nvme blktests which only runs if device is configured with single path
and so testing it on multi-controller nvme disk would require us to turn off multipath module
parameter. In that way this parameter is very handy. My typical way of 
toggling this parameter is:
1. disable multipath
# rmmod nvme
# rmmod nvme_core
# modprobe nvme_core multipath=0
# modprobe nvme

Now I could run all nvme blktests which require us disable multipath.

2. enable multipath:
# rmmod nvme
# rmmmod nvme_core
# modprobe nvme_core multipath=1
# modprobe nvme

Now if we get away with multipath parameter then it means we have to re-compile kernel
disabling CONFIG_NVME_MULTIPATH option and that's something we may want to avoid, 
if possible.

Having said that I'm not against this patch however we certainly have users who would 
be using multipath parameter and taking away this parameter may break those user 
application. So I'm wondering why is it not possible for RedHat to let their customer
know the fact that starting with RHEL-10, we don't support DMMP for NVMe device even
though the multipath module parameter is present?

Thanks,
--Nilay






More information about the Linux-nvme mailing list