Project

General

Profile

Feature #9809

nvme driver should attach to all NVMe 1.x devices

Added by Robert Mustacchi about 1 year ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Category:
driver - device drivers
Start date:
2018-09-09
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

Currently the NVMe driver only attaches to devices based on the version that the driver knows that it understands for certain. In particular, this is NVMe 1.2 today. Per Hans Rosenfeld this was originally put in place because we weren't sure about how the NVMe spec would evolve and what else would happen.

However, as we're looking at NVMe 1.3 and more, we can pretty safely conclude that the way things are being added is in a backwards compatible manor and that we should probably default to attaching to such devices. This changes the strict version check to only care about the major version, but allow through the minor versions.

To test this I booted up systems that had a combination of the following NVMe devices:

  • Samsung Consumer devices 950 Pro (1.1) and 970 EVO (1.3)
  • Samsung SM963 (1.2)
  • Intel P3700 (1.0)
  • Intel P4600 (1.2)

I did basic I/O tests and used nvmeadm on these devices and verified that ZFS scrubbed all the data as clean. The only issue that was encountered was 9846 which occurred regardless of whether these changes were present or not.


Related issues

Related to illumos gate - Bug #9846: nvme driver shouldn't panic from userland commandsClosed2018-09-18

Actions

History

#1

Updated by Robert Mustacchi about 1 year ago

  • Related to Bug #9846: nvme driver shouldn't panic from userland commands added
#2

Updated by Robert Mustacchi about 1 year ago

  • Description updated (diff)
#3

Updated by Electric Monk about 1 year ago

  • Status changed from New to Closed

git commit 48d370f1e98a10b1bdf160dd83a49e0f49f6c1b7

commit  48d370f1e98a10b1bdf160dd83a49e0f49f6c1b7
Author: Robert Mustacchi <rm@joyent.com>
Date:   2018-09-22T20:16:33.000Z

    9809 nvme driver should attach to all NVMe 1.x devices
    9810 Update parts of NVMe headers for newer specs
    9811 nvmeadm(1M) should have ctf
    Reviewed by: Hans Rosenfeld <hans.rosenfeld@joyent.com>
    Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
    Reviewed by: Yuri Pankov <yuripv@yuripv.net>
    Reviewed by: Richard Lowe <richlowe@richlowe.net>
    Reviewed by: Andy Fiddaman <omnios@citrus-it.co.uk>
    Approved by: Dan McDonald <danmcd@joyent.com>

Also available in: Atom PDF