Page MenuHomeFreeBSD

Fix namespace listing for old NVMe devices
AcceptedPublic

Authored by mav on Thu, Jul 2, 4:58 PM.
Tags
None
Referenced Files
F161913146: D58010.diff
Tue, Jul 7, 11:30 PM
Unknown Object (File)
Mon, Jul 6, 9:02 PM
Unknown Object (File)
Mon, Jul 6, 8:09 PM
Unknown Object (File)
Mon, Jul 6, 4:31 AM
Unknown Object (File)
Sun, Jul 5, 8:09 PM
Unknown Object (File)
Sat, Jul 4, 4:48 PM
Subscribers

Details

Reviewers
jhb
imp
chuck
Summary

Commit 9e1db51d4b5fc made camcontrol devlist get list of active namespaces from the device instead of iterating through all possible IDs. The problem is that this request is not supported before NVMe 1.1, and in particular by Intel Optane 905P drives. This change reintroduces iteration for devices before NVMe 1.2.

Test Plan

Before:

# nvmecontrol devlist
 nvme0: WD_BLACK SN770 1TB
    nvme0ns1 (953869MB)
 nvme1: INTEL SSDPE21D480GA
 nvme2: INTEL SSDPE21D480GA
 nvme3: INTEL SSDPE21D480GA

After:

# nvmecontrol devlist
 nvme0: WD_BLACK SN770 1TB
    nvme0ns1 (953869MB)
 nvme1: INTEL SSDPE21D480GA
    nvme1ns1 (457862MB)
 nvme2: INTEL SSDPE21D480GA
    nvme2ns1 (457862MB)
 nvme3: INTEL SSDPE21D480GA
    nvme3ns1 (457862MB)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

mav requested review of this revision.Thu, Jul 2, 4:58 PM
sbin/nvmecontrol/devlist.c
120

I see why this change exists, but it feels weird that a "print" function has a side effect.

This revision is now accepted and ready to land.Tue, Jul 7, 6:24 PM