Public bug reported:
Some regression was introduced into NVME-related kernel configuration by
32c662c58a9b9 into 4.15-rc2, which was pulled later into ubuntu-
bionic.git
In result, "nvme" and "nvme_core" drivers are built into the kernel, we
can't build them as modules. It caused incompatibility of NMVe-OF target
and initiator modules (nvmet, nvme-rdma) installed by Mellanox OFED with
the inbox "nvme" driver.
Root cause analysis.
In the drivers/lightnvm/Kconfig file - kernel configuration for the OpenChannel
SSDs (lightnvm) we have:
menuconfig NVM
bool "Open-Channel SSD target support"
depends on BLOCK && HAS_DMA && PCI
select BLK_DEV_NVME
help
Say Y here to get to enable Open-channel SSDs.
...
It means that BLK_DEV_NVME is selected to "y" when NVM (CONFIG_NVM) is
selected.
NVM parameter is 2 state (on / off, i.e. "y" or "no"), it couldn't be built as
a module.
So that it triggers the change of BLK_DEV_NAME=y and NVME_CORE=y
$ git blame drivers/lightnvm/Kconfig
32c662c58a9b9 (Rakesh Pandit 2017-10-13 14:45:55 +0200 7) depends on
BLOCK && HAS_DMA && PCI
32c662c58a9b9 (Rakesh Pandit 2017-10-13 14:45:55 +0200 8) select
BLK_DEV_NVME
commit 32c662c58a9b9d0c99e713a14ca323a9a91c73a0
Author: Rakesh Pandit <[email protected]>
Date: Fri Oct 13 14:45:55 2017 +0200
lightnvm: include NVM Express driver if OCSSD is selected for build
Because NVM needs BLK_DEV_NVME, select it automatically if we mark NVM
in config file before building kernel. Also append PCI to depends as
select doesn't automatically add dependencies.
Signed-off-by: Rakesh Pandit <[email protected]>
Signed-off-by: Matias Bjørling <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
drivers/lightnvm/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
$ git diff 32c662c58a9b9^1..32c662c58a9b9
diff --git a/drivers/lightnvm/Kconfig b/drivers/lightnvm/Kconfig
index ead61a93cb4e..2a953efec4e1 100644
--- a/drivers/lightnvm/Kconfig
+++ b/drivers/lightnvm/Kconfig
@@ -4,7 +4,8 @@
menuconfig NVM
bool "Open-Channel SSD target support"
- depends on BLOCK && HAS_DMA
+ depends on BLOCK && HAS_DMA && PCI
+ select BLK_DEV_NVME
help
Say Y here to get to enable Open-channel SSDs.
Proposed fix is following:
diff --git a/drivers/lightnvm/Kconfig b/drivers/lightnvm/Kconfig
index 2a953efec4e1..9969236314d7 100644
--- a/drivers/lightnvm/Kconfig
+++ b/drivers/lightnvm/Kconfig
@@ -4,8 +4,7 @@
menuconfig NVM
bool "Open-Channel SSD target support"
- depends on BLOCK && HAS_DMA && PCI
- select BLK_DEV_NVME
+ depends on BLOCK && HAS_DMA && PCI && BLK_DEV_NVME
help
Say Y here to get to enable Open-channel SSDs.
Regards, Yurii Shestakov
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
** Patch added: "Fix NVM -> BLK_DEV_NVME dependency bug"
https://bugs.launchpad.net/bugs/1759893/+attachment/5095074/+files/fix-nvm-nvme-regression.diff
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1759893
Title:
regression: nvme and nvme_core couldn't be build as modules starting
4.15-rc2
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1759893/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs