Hi Seth,

No, I've not reported this issue to the upstream yet. I guess somebody
from our company, who works on NVMe-OF related code in the kernel,
should do this.

To be honest I'm not sure that my fix is technically correct and takes
into account all dependencies. So that I'm fine with reverting of
32c662c58a9b9d0c99e713a14ca323a9a91c73a0.

Thank you.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1759893

Title:
  [18.04][config] regression: nvme and nvme_core couldn't be built as
  modules starting 4.15-rc2

Status in linux package in Ubuntu:
  Fix Committed
Status in linux source package in Bionic:
  Fix Committed

Bug description:
  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 <rak...@tuxera.com>
  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 <rak...@tuxera.com>
      Signed-off-by: Matias Bjørling <m...@bjorling.me>
      Signed-off-by: Jens Axboe <ax...@kernel.dk>

   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
  --- 
  AlsaDevices:
   total 0
   crw-rw---- 1 root audio 116,  1 Mar 29 17:05 seq
   crw-rw---- 1 root audio 116, 33 Mar 29 17:05 timer
  AplayDevices: Error: [Errno 2] No such file or directory: 'aplay': 'aplay'
  ApportVersion: 2.20.9-0ubuntu1
  Architecture: amd64
  ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord': 
'arecord'
  AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', 
'/dev/snd/timer'] failed with exit code 1:
  DistroRelease: Ubuntu 18.04
  HibernationDevice: RESUME=/dev/mapper/vg2-swap_1
  IwConfig: Error: [Errno 2] No such file or directory: 'iwconfig': 'iwconfig'
  Lsusb:
   Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
   Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  MachineType: QEMU Standard PC (Q35 + ICH9, 2009)
  Package: linux (not installed)
  PciMultimedia:
   
  ProcFB:
   
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-10-generic 
root=/dev/mapper/vg2-root ro net.ifnames=0 biosdevname=0 quiet nofb nomodeset 
console=ttyS0,115200n8
  ProcVersionSignature: Ubuntu 4.15.0-10.11-generic 4.15.3
  RelatedPackageVersions:
   linux-restricted-modules-4.15.0-10-generic N/A
   linux-backports-modules-4.15.0-10-generic  N/A
   linux-firmware                             1.173
  RfKill: Error: [Errno 2] No such file or directory: 'rfkill': 'rfkill'
  Tags:  bionic
  Uname: Linux 4.15.0-10-generic x86_64
  UnreportableReason: The report belongs to a package that is not installed.
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups:
   
  _MarkForUpload: False
  dmi.bios.date: 01/01/2011
  dmi.bios.vendor: Seabios
  dmi.bios.version: 0.5.1
  dmi.chassis.type: 1
  dmi.chassis.vendor: Bochs
  dmi.modalias: 
dmi:bvnSeabios:bvr0.5.1:bd01/01/2011:svnQEMU:pnStandardPC(Q35+ICH9,2009):pvrpc-q35-2.0:cvnBochs:ct1:cvr:
  dmi.product.name: Standard PC (Q35 + ICH9, 2009)
  dmi.product.version: pc-q35-2.0
  dmi.sys.vendor: QEMU

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1759893/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to