From: John Meneghini <jmeneghi@redhat.com>
To: kbusch@kernel.org, hch@lst.de, sagi@grimberg.me
Cc: loberman@redhat.com, linux-nvme@lists.infradead.org,
linux-kernel@vger.kernel.org, emilne@redhat.com,
jmeneghi@redhat.com, bgurney@redhat.com
Subject: [PATCH v3 0/5] nvme: make core.nvme_multipath configurable
Date: Fri, 28 Mar 2025 15:38:21 -0400 [thread overview]
Message-ID: <20250328193826.356257-1-jmeneghi@redhat.com> (raw)
As agreed at LSF/MM here is a v3 patch set which includes the
new CONFIG_NVME_ENABLE_MULTIPATH_PARAM option.
NOTE: we agreed to call this CONFIG_NVME_DISBALE_MULTIPATH_PARAM.
However, during testing I realized that we needed to make the
logic positive or else many of the default make 'config' rules
would produce the wrong results.
For example:
make localmodconfig
make allmodconfig
would end up compiling out the core_nvme.multipath
parameter, and I don't think this is what we want.
To remove the core.nvme_multipath one needs to
explicity overide the default setting by saying
CONFIG_NVME_ENABLE_MULTIPATH_PARAM=n.
The current default setting for this option is
CONFIG_NVME_ENABLE_MULTIPATH_PARAM=y.
To remove the core_nvme.multipath one needs to
explicity overide the default setting by saying
CONFIG_NVME_ENABLE_MULTIPATH_PARAM=n.
Keith, I suggest that we add these to nvme-6.16 since there are a few
more changes than I had planned for. I'd like these patches to get some
soak time before they merge.
Closes: https://lore.kernel.org/linux-nvme/20241121220321.40616-1-bgurney@redhat.com/
Closes: https://lore.kernel.org/linux-nvme/20250204211158.43126-1-bgurney@redhat.com/
Closes: https://lore.kernel.org/linux-nvme/20250228032541.369804-1-jmeneghi@redhat.com/
Signed-off-by: John Meneghini <jmeneghi@redhat.com>
Changes Since v2
Changed the patch order and added:
nvme: add NVME_ENABLE_MULTIPATH_PARAM for loongarch
nvme: add NVME_ENABLE_MULTIPATH_PARAM for powerpc skiroot
I'm not 100% sure these two are needed but it would be
better to be safe than sorry.
nvme-multipath: add the NVME_ENABLE_MULTIPATH_PARAM config option
Changed the name of this config option from
NVME_MULTIPATH_PARAM to NVME_ENABLE_MULTIPATH_PARAM and
Fixed up the Kconfig description.
Tested the following make options:
make localmodconfig
make alldefconfig
make mod2noconfig
make allyesconfig
make allmodconfig
make olddefconfig
make oldconfig - accept all defaults
These all provide no change in current behavior.
Changes Since v1
Rebased patches to nvme-v6.15
nvme: add mulitipath warning to nvme_alloc_ns
Dropped this patch because the dmesg it produced was redundant and not
needed. Testing multiport devices with CONFIG_NVME_MULTIPATH disabled
show the following console message at boot.
[167523.157284] nvme nvme5: Found shared namespace 1, but multipathing not supported.
[167523.217083] nvme nvme6: Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.
nvme-multipath: add the NVME_MULTIPATH_PARAM config option
Fixed up the Kconfig description for NVME_MULTIPATH_PARAM.
Add default y and tested the follow Kconfig options.
Tested the following:
make mod2noconfig
make allyesconfig
make allmodconfig
make olddefconfig
make oldconfig - accept all defaults
No change in current behavior.
nvme: update the multipath warning in nvme_init_ns_head
Tests ran with CONFIG_NVME_MULTIPATH=y and CONFIG_NVME_MULTIPATH_PARM=n
No change in current behavior except:
[root@rhel-storage-108 ~]# cat /sys/module/nvme_core/parameters/multipath
cat: /sys/module/nvme_core/parameters/multipath: No such file or directory
The following does nothing, just like it does when CONFIG_NVME_MULTIPATH=n
[root@rhel-storage-108 ~]# grubby --update-kernel=ALL --args="nvme_core.multipath=N"
[root@rhel-storage-108 ~]# reboot now
.
.
.
[root@rhel-storage-108 ~]# cat /proc/cmdline
BOOT_IMAGE=(hd1,gpt2)/vmlinuz-6.14.0-rc2_config_ana4a+ ... nvme_core.multipath=N
[root@rhel-storage-108 ~]# cat /sys/module/nvme_core/parameters/multipath
cat: /sys/module/nvme_core/parameters/multipath: No such file or directory
Tests ran with CONFIG_NVME_MULTIPATH=y and CONFIG_NVME_MULTIPATH_PARM=y
There is no change in current behavior:
Tests ran with CONFIG_NVME_MULTIPATH=y, CONFIG_NVME_MULTIPATH_PARM=y
and nvme_core.multipath=N
[ 372.040105] nvme nvme4: Found shared namespace 1, but multipathing not supported.
[ 372.047606] nvme nvme4: Shared namespace support requires core_nvme.multipath=Y.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
new message
[ 372.105469] nvme nvme5: creating 2 I/O queues.
[ 372.110383] nvme nvme5: mapped 2/0/0 default/read/poll queues.
[ 372.125480] nvme nvme5: new ctrl: NQN ....
[ 372.166081] nvme nvme5: Found shared namespace 1, but multipathing not supported.
[ 372.235964] nvme nvme6: creating 2 I/O queues.
[ 372.240926] nvme nvme6: mapped 2/0/0 default/read/poll queues.
[ 372.255964] nvme nvme6: new ctrl: NQN ....
[root@rhel-storage-108 ~]# cat /sys/module/nvme_core/parameters/multipath
N
[root@rhel-storage-108 ~]# grubby --remove-args="nvme_core.multipath=N" --update-kernel=ALL
[root@rhel-storage-108 ~]# grubby --info=ALL | grep nvme_core
[root@rhel-storage-108 ~]# reboot now
.
.
.
[root@rhel-storage-108 ~]# cat /sys/module/nvme_core/parameters/multipath
Y
John Meneghini (5):
nvme: update the multipath warning in nvme_init_ns_head
nvme: change the NVME_MULTIPATH config option description
nvme: add the NVME_ENABLE_MULTIPATH_PARAM config option
nvme: add NVME_ENABLE_MULTIPATH_PARAM for loongarch
nvme: add NVME_ENABLE_MULTIPATH_PARAM for powerpc skiroot
arch/loongarch/configs/loongson3_defconfig | 1 +
arch/powerpc/configs/skiroot_defconfig | 1 +
drivers/nvme/host/Kconfig | 24 ++++++++++++++++++----
drivers/nvme/host/core.c | 2 +-
drivers/nvme/host/multipath.c | 2 ++
5 files changed, 25 insertions(+), 5 deletions(-)
--
2.48.1
next reply other threads:[~2025-03-28 19:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-28 19:38 John Meneghini [this message]
2025-03-28 19:38 ` [PATCH v3 1/5] nvme: update the multipath warning in nvme_init_ns_head John Meneghini
2025-03-28 19:38 ` [PATCH v3 2/5] nvme: change the NVME_MULTIPATH config option description John Meneghini
2025-03-28 19:38 ` [PATCH v3 3/5] nvme: add the NVME_ENABLE_MULTIPATH_PARAM config option John Meneghini
2025-03-28 19:49 ` Caleb Sander Mateos
2025-03-31 14:28 ` John Meneghini
2025-03-31 23:55 ` Caleb Sander Mateos
2025-03-28 19:38 ` [PATCH v3 4/5] nvme: add NVME_ENABLE_MULTIPATH_PARAM for loongarch John Meneghini
2025-03-28 19:38 ` [PATCH v3 5/5] nvme: add NVME_ENABLE_MULTIPATH_PARAM for powerpc skiroot John Meneghini
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=20250328193826.356257-1-jmeneghi@redhat.com \
--to=jmeneghi@redhat.com \
--cc=bgurney@redhat.com \
--cc=emilne@redhat.com \
--cc=hch@lst.de \
--cc=kbusch@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=loberman@redhat.com \
--cc=sagi@grimberg.me \
/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
all inboxes | Powered by JetHome®