Re: [PATCH] nvme: remove multipath module parameter

From: Hannes Reinecke
Date: Wed Feb 26 2025 - 04:57:34 EST


On 2/20/25 17:47, Keith Busch wrote:
On Thu, Feb 20, 2025 at 01:05:04PM +0200, Sagi Grimberg wrote:
This discussion is not specific to RHEL, if there is a real use-case
that we are interested in supporting, we can change our minds and keep
it (and simply remove the log msg), but I haven't heard any real life
use-cases thus far.

One use case: ublk.

Other use cases are manufacturing and debugging. Linux has been a great
environment for both, which don't want anything hidden behind virtual
devices.

The module parameter makes it possible to do this with your distro's
stock kernel that came with the CONFIG option enabled.

The device mapper multipath needed some layering violations out of the
driver to make failover work correctly/better. That's one reason it's
not supported here, and that's an appropriate place to draw the line on
what kinds of patches should be accepted.

Plus there are some NVMe devices out there which _despite_ being PCIe do report NMIC and CMIC set (I won't name names, if you came across them you'll know). This is causing stacking drivers (most notably MD) to behave vastly different on hotplug. Having the module option is an easy way of debugging (and, in quite some cases, fixing) the issue.

If the module option really causes issues just make it read-only; that
way you can still set if if absolutely required, and at the same time
catch installations which try to modify it.

Cheers,

Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich