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

Bug #1704817 reported by Manoj Iyer
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
nvme-cli (Ubuntu)
Fix Released
Critical
Unassigned
Xenial
Fix Released
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.

Revision history for this message
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:~$

Revision history for this message
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.

Revision history for this message
Manoj Iyer (manjo) wrote :

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

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

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)
Changed in nvme-cli (Ubuntu):
assignee: Manoj Iyer (manjo) → dann frazier (dannf)
status: New → In Progress
dann frazier (dannf)
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
Revision history for this message
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
Revision history for this message
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)
Changed in nvme-cli (Ubuntu Xenial):
status: Confirmed → In Progress
Revision history for this message
Ł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.

Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

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
Revision history for this message
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
Revision history for this message
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
Revision history for this message
Brian Murray (brian-murray) wrote : Update 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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.