Project

General

Profile

Actions

Feature #14432

closed

Want NVMe vendor-unique log page support

Added by Benjamin Naecker 7 months ago. Updated 6 months ago.

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

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

The current NVMe driver supports a few log pages mandated by the NVMe 1.3 specification. However, many vendors implement vendor-unique log pages, which may contain a wealth of information about device status, health, telemetry, and more. We'd like a way to access these vendor-unique pages, transferring them to userspace as opaque byte arrays, where user code may interpret them according to the documentation provided by individual vendors.

Actions #1

Updated by Robert Mustacchi 7 months ago

  • Project changed from site to illumos gate
  • Category set to driver - device drivers
Actions #2

Updated by Benjamin Naecker 7 months ago

The changes required to support this are pretty small. I've run a small C program that exercises the main new check, which is that the log page ID requested is within the vendor-unique range provided by the spec: 0xC0 to 0xFF.

I've also tested with a Rust userland program, which retrieves vendor-unique log pages for Micron and WDC drives I have available for testing. These appear correct and complete, including all the information indicated by the vendor documentation.

Actions #3

Updated by Electric Monk 7 months ago

  • Gerrit CR set to 1973
Actions #4

Updated by Benjamin Naecker 6 months ago

During development, I mistakenly removed a block of code that affects the handling of existing log pages. I've put that chunk back, and verified that all existing log pages supported by the `nvmeadm` command are handled correctly.

Actions #5

Updated by Electric Monk 6 months ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit f07cc83a341c0d7b586da85b15c1782072b14d2a

commit  f07cc83a341c0d7b586da85b15c1782072b14d2a
Author: Benjamin Naecker <bnaecker@fastmail.com>
Date:   2022-01-31T22:15:54.000Z

    14432 Want NVMe vendor-unique log page support
    Reviewed by: Robert Mustacchi <rm@fingolfin.org>
    Reviewed by: Andy Fiddaman <andy@omnios.org>
    Approved by: Dan McDonald <danmcd@joyent.com>

Actions

Also available in: Atom PDF