bionic 4.15 nvme regression from trusty 4.4 with two identical devices
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
I have a system containing two identical nvme devices. When booting a trusty PXE image with kernel 4.4.0-38-generic both devices are detected and available:
# nvme id-ctrl /dev/nvme0
NVME Identify Controller:
vid : 0x8086
ssvid : 0x8086
sn : BTHH82250N1X1P0E
mn : INTEL SSDPEKKF010T8L
fr : L08P
...
# nvme id-ctrl /dev/nvme1
NVME Identify Controller:
vid : 0x8086
ssvid : 0x8086
sn : BTHH82250N261P0E
mn : INTEL SSDPEKKF010T8L
fr : L08P
...
# dmesg | grep nvme
[ 5.106516] nvme0n1: p1 p2 p3 p4
[ 5.106615] nvme1n1: p1 p2
After booting a bionic PXE image based on 4.15.0-38-generic only the first nvme device is enabled, the second is detected but disabled as both devices have the same nqn:
nvme nvme1: ignoring ctrl due to duplicate subnqn (nqn.2017-
nvme nvme1: Removing after probe failure status: -22
The nqn string is found in the device firmware rather than being generated by Linux but there does not seem to be an operation in nvme-cli to change this. (It is also questionable if the device firmware value is correct according to section 7.9 of https:/
The Windows 10 installation provided on the system did not have any problems operating with both devices.
Looking at the kernel nvme driver history suggests that in 4.4 it didn't care or validate the nqn but now it does there is a problem.
Our typical installation is a zpool mirror across two devices and this is preventing us moving from trusty to bionic.
This is a report of a similar issue: https:/
It may be worth noting that if the nvme device does not provide an nqn then it seems one is generated based on the device serial number so a system with two Samsung MZVLB256HAHQ devices works fine.
---
ApportVersion: 2.14.1-0ubuntu3.21
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CasperVersion: 1.340.2
CurrentDmesg: [ 151.172010] init: plymouth-stop pre-start process (4137) terminated with status 1
DistroRelease: Ubuntu 14.04
IwConfig:
lo no wireless extensions.
eth1 no wireless extensions.
eth0 no wireless extensions.
LiveMediaBuild: Ubuntu 14.04.5 LTS "Trusty Tahr" - Release amd64 (20160803)
Lsusb:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 89e5:1001
Bus 001 Device 002: ID 17ef:6099 Lenovo
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: LENOVO 30C8S04Y00
NonfreeKernelMo
Package: linux (not installed)
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
LANG=en_GB.UTF-8
SHELL=/bin/bash
ProcFB: 0 EFI VGA
ProcKernelCmdLine: us1931.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=
ProcVersionSign
PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
RelatedPackageV
linux-
linux-
linux-firmware 1.127.22
RfKill:
Tags: trusty
Uname: Linux 4.4.0-38-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:
_MarkForUpload: True
dmi.bios.date: 08/17/2018
dmi.bios.vendor: LENOVO
dmi.bios.version: M1VKT1BA
dmi.board.name: 3138
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40697 WIN 3305152508085
dmi.chassis.type: 3
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.name: 30C8S04Y00
dmi.product.
dmi.sys.vendor: LENOVO
---
ProblemType: Bug
ApportVersion: 2.20.9-0ubuntu7.4
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CasperVersion: 1.394
CurrentDesktop: ubuntu:GNOME
DistroRelease: Ubuntu 18.04
LiveMediaBuild: Ubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64 (20180725)
Lsusb:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 89e5:1001
Bus 001 Device 002: ID 17ef:6099 Lenovo
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: LENOVO 30C8S04Y00
NonfreeKernelMo
Package: linux (not installed)
ProcEnviron:
TERM=xterm-
PATH=(custom, no user)
XDG_RUNTIME_
LANG=en_GB.UTF-8
SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: bionic-sysprep.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=
ProcVersionSign
RelatedPackageV
linux-
linux-
linux-firmware 1.173.1
RfKill:
Tags: bionic
Uname: Linux 4.15.0-38-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 08/17/2018
dmi.bios.vendor: LENOVO
dmi.bios.version: M1VKT1BA
dmi.board.name: 3138
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40697 WIN 3305152508085
dmi.chassis.type: 3
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.family: ThinkStation P330
dmi.product.name: 30C8S04Y00
dmi.product.
dmi.sys.vendor: LENOVO
tags: | added: ubuntu-certified |
tags: | added: cscc |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1803692
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.