[Xenial] nvme-cli does not recognize version 1.0 NVME drives

Bug #1704817 reported by Manoj Iyer on 2017-07-17
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
nvme-cli (Ubuntu)
Critical
Unassigned
Xenial
Undecided
Manoj Iyer

Bug Description

[Impact]
We've noticed that the nvme-cli package does not work on QDF2400 and gives the false impression that the hardware is broken. This prevents customers from running NVMe diagnostics.

[Test Case]
Current version available -
ubuntu@ubuntu:~$ sudo nvme version
nvme version 0.5

Current failure mode -
root@ubuntu:/home/ubuntu# nvme list
nvme0 did not find a pci resource

Known issue: https://github.com/linux-nvme/nvme-cli/issues/81

[Fix]
Backport patch https://github.com/linux-nvme/nvme-cli/commit/6ab2e9ef204053d82c1eb40e514119286749cefe

[Regression Potential]
None. This was tested by QTI on Version 1.0 card and by Canonical on Version 1.2 card.

Manoj Iyer (manjo) wrote :

A test package with backported patch is available here: https://launchpad.net/~centriq-team/+archive/ubuntu/17.06.rc

== Tested by QTI ( Sinan Kaya (okaya)) on QDF2400 w/ Intel 750 V1. ==
root@ubuntu:/home/ubuntu# nvme list
Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 CVCQ651500E8400IGN INTEL SSDPEDMW400G4 1 400.09 GB / 400.09 GB 512 B + 0 B 8EV10171
root@ubuntu:/home/ubuntu# nvme version
nvme version 0.5
root@ubuntu:/home/ubuntu# apt-cache policy nvme-cli
nvme-cli:
  Installed: 0.5-1ubuntu0.2
  Candidate: 0.5-1ubuntu0.2
  Version table:
 *** 0.5-1ubuntu0.2 500
        500 http://ppa.launchpad.net/centriq-team/17.06.rc/ubuntu xenial/main arm64 Packages
        100 /var/lib/dpkg/status
     0.5-1ubuntu0.1 500
        500 http://ports.ubuntu.com/ubuntu-ports xenial-updates/universe arm64 Packages
     0.5-1 500
        500 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 Packages

== Tested by canonical (me) on QDF2400 with ADATA V1.2 drive ==
ubuntu@awsdp1:~$ sudo nvme list
Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 2G4920008053 ADATA SX8000NP 1 128.04 GB / 128.04 GB 512 B + 0 B C2.1.3
ubuntu@awsdp1:~$ apt policy nvme-cli
nvme-cli:
  Installed: 0.5-1ubuntu0.2
  Candidate: 0.5-1ubuntu0.2
  Version table:
 *** 0.5-1ubuntu0.2 500
        500 http://ppa.launchpad.net/centriq-team/17.06.rc/ubuntu xenial/main arm64 Packages
        100 /var/lib/dpkg/status
     0.5-1ubuntu0.1 500
        500 http://ports.ubuntu.com/ubuntu-ports xenial-updates/universe arm64 Packages
     0.5-1 500
        500 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 Packages
ubuntu@awsdp1:~$

Manoj Iyer (manjo) wrote :

Please consider this patch for SRU to nvme-cli, it fixes the issue where nvme-cli is unable to list v1.0 nvme drives.

Manoj Iyer (manjo) wrote :

Please consider this debdiff for SRU to nvme-cli for xenial.

The attachment "[Patch] Remove version from list." seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
tags: added: rls-aa-incomming
tags: added: rls-xx-incomming
Manoj Iyer (manjo) on 2017-07-31
Changed in nvme-cli (Ubuntu):
assignee: Manoj Iyer (manjo) → dann frazier (dannf)
status: New → In Progress
dann frazier (dannf) on 2017-07-31
Changed in nvme-cli (Ubuntu):
status: In Progress → Fix Released
Changed in nvme-cli (Ubuntu Zesty):
status: New → Fix Released
Changed in nvme-cli (Ubuntu):
assignee: dann frazier (dannf) → nobody
dann frazier (dannf) wrote :

@Manoj: While the code in the patch looks fine, I do see a couple issues with the DEP-3 headers:

>Description: Remove version from list
> We can't reliably map controller registers due to kernel memory
> protections added in kernel commit 90a545e98, so we are removing its
> dependency for the 'list' command to run.
> Author: Keith Busch <email address hidden>

I'd suggest starting with the git commit, including all the metadata, and adding the DEP-3 specific fields (Origin, Bug) to the end of the header.

> Origin: upstream, https://github.com/linux-nvme/nvme-cli

Origin should be the URL of the commit, not the repository.

> Bug: https://launchpad.net/bugs/##

This isn't a valid URL, and it should be a pointer to the upstream bug, if one exists. The "Bug-Ubuntu" field should be used to provide a pointer to the Ubuntu bug in LP.

> Forwarded: not-needed

Well, technically it *is* needed since it was applied upstream. I'd suggest just omitting this field though, it only really makes sense if it is a vendor-specific patch.

Changed in nvme-cli (Ubuntu Xenial):
assignee: nobody → Manoj Iyer (manjo)
no longer affects: nvme-cli (Ubuntu Zesty)
Changed in nvme-cli (Ubuntu Xenial):
status: New → Confirmed
Manoj Iyer (manjo) wrote :

Incorporated review comments from dannf. Thanks a ton! dannf. Please let me know if I messed up something again.

dann frazier (dannf) on 2017-08-03
Changed in nvme-cli (Ubuntu Xenial):
status: Confirmed → In Progress
Łukasz Zemczak (sil2100) wrote :

The upload looks fine and I'm *almost* good to accept it to xenial-proposed. I would like to have a bit more detail in the description: could you modify the test case so that one knows what would be the 'expected' result of the test?

A small thing also: for the regression potential, whenever I see just 'None' written I feel like questioning a little bit. The code does look in fact very safe though so it's not a blocking thing, but I was wondering if it's possible that something would be regressed by the 'Version' part being removed from list? Just thinking out loud. Anyway, I guess this would still be better than not working at all. That being said, the Regression Potential field is for guess work like this - thinking of possible scenarios that could cause issues after the update is released to the world.

Hello Manoj, or anyone else affected,

Accepted nvme-cli into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/nvme-cli/0.5-1ubuntu0.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in nvme-cli (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-xenial
Jeffrey Hugo (jhugo-o) wrote :

From our tester -

I downloaded the deb file from here https://launchpad.net/ubuntu/xenial/arm64/nvme-cli/0.5-1ubuntu0.2 and then installed it with deb. Change seems to be working with Intel 750 drive.

Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 CVCQ651500E8400IGN INTEL SSDPEDMW400G4 1 400.09 GB / 400.09 GB 512 B + 0 B 8EV10171
root@ubuntu:/home/ubuntu# nvme --version
nvme version 0.5
root@ubuntu:/home/ubuntu# apt policy nvme-cli
nvme-cli:
  Installed: 0.5-1ubuntu0.2
  Candidate: 0.5-1ubuntu0.2
  Version table:
*** 0.5-1ubuntu0.2 500
        500 http://ports.ubuntu.com/ubuntu-ports xenial-proposed/universe arm64 Packages
        100 /var/lib/dpkg/status
     0.5-1ubuntu0.2 500
        500 http://ppa.launchpad.net/centriq-team/17.06.rc/ubuntu xenial/main arm64 Packages
     0.5-1ubuntu0.1 500
        500 http://ports.ubuntu.com/ubuntu-ports xenial-updates/universe arm64 Packages
     0.5-1 500
        500 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 Packages
root@ubuntu:/home/ubuntu#

tags: added: verification-done-xenial
removed: verification-needed-xenial
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nvme-cli - 0.5-1ubuntu0.2

---------------
nvme-cli (0.5-1ubuntu0.2) xenial; urgency=medium

  * d/p/0003-Remove-version-from-list.patch:
    Backported from upstream to fix display of information v1.0 m.2
    drives. (LP: #1704817)

 -- Manoj Iyer <email address hidden> Fri, 14 Jul 2017 22:08:23 -0500

Changed in nvme-cli (Ubuntu Xenial):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for nvme-cli has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers