[PATCH 3/4] nvme: update the multipath warning in nvme_init_ns_head

Nilay Shroff nilay at linux.ibm.com
Sun Mar 2 09:28:36 PST 2025



On 2/28/25 6:44 PM, John Meneghini wrote:
> On 2/28/25 1:28 AM, Nilay Shroff wrote:
>> On 2/28/25 8:55 AM, John Meneghini wrote:
>>> The new NVME_MULTIPATH_PARAM config option requires updates
>>> to the warning message in nvme_init_ns_head(). Remove
>>> the old warning message and add new ones.
>>>
>>> Signed-off-by: John Meneghini <jmeneghi at redhat.com>
>>> ---
>>>   drivers/nvme/host/core.c | 10 +++++++++-
>>>   1 file changed, 9 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
>>> index 818d4e49aab5..c2b7e6834535 100644
>>> --- a/drivers/nvme/host/core.c
>>> +++ b/drivers/nvme/host/core.c
>>> @@ -3823,8 +3823,16 @@ static int nvme_init_ns_head(struct nvme_ns *ns, struct nvme_ns_info *info)
>>>               dev_warn(ctrl->device,
>>>                   "Found shared namespace %d, but multipathing not supported.\n",
>>>                   info->nsid);
>>> +#ifdef CONFIG_NVME_MULTIPATH
>>> +#ifdef CONFIG_NVME_MULTIPATH_PARAM
>>> +            dev_warn_once(ctrl->device,
>>> +                "Shared namespace support requires core.nvme_multipath=Y.\n");
>>> +
>>> +#endif
>>> +#else
>>>               dev_warn_once(ctrl->device,
>>> -                "Support for shared namespaces without CONFIG_NVME_MULTIPATH is deprecated and will be removed in Linux 6.0.\n");
>>> +                "Shared namespace support requires CONFIG_NVME_MULTIPATH.\n");
>>> +#endif
>>>           }
>>>       }
>>>   
>>
>> As NVME_MULTIPATH_PARAM depends on NVME_MULTIPATH, it implicitly implies
>> that if NVME_MULTIPATH_PARAM is enabled then NVME_MULTIPATH has to be on.
>> So above logic could be simplified.
>>
>> However on another note, I really don't understand why do we need to add
>> new warning here as there's already a warning present just above your
>> changes.
> 
> Agreed.  How about if we just remove the
> 
>        dev_warn_once(ctrl->device,
>         "Support for shared namespaces without CONFIG_NVME_MULTIPATH is deprecated and will be removed in Linux 6.0.\n");
>  
> This is real problem.  This is a confusing message since there is no now plan to remove any of these config options from the kernel.
I read it as "NVMe (native) multipathing is only supported when CONFIG_NVME_MULTIPATH
is configured". 

So personally, I find existing warning messages (we print two warning messages when 
multipath is false but shared namespace is detected) sufficient, however lets see 
what others suggest.

Thanks,
--Nilay 



More information about the Linux-nvme mailing list