Page MenuHomeFreeBSD

nvme: limit visible namespaces on Apple S3X
ClosedPublic

Authored by seuros on Aug 14 2026, 3:48 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Sep 12, 4:51 AM
Unknown Object (File)
Fri, Sep 11, 3:48 AM
Unknown Object (File)
Thu, Sep 10, 11:10 PM
Unknown Object (File)
Thu, Sep 10, 4:28 AM
Unknown Object (File)
Thu, Sep 10, 4:17 AM
Unknown Object (File)
Tue, Sep 8, 2:41 AM
Unknown Object (File)
Tue, Sep 8, 12:27 AM
Unknown Object (File)
Mon, Sep 7, 9:42 PM
Subscribers

Details

Summary

The Apple S3X controller exposes internal namespaces beyond NSID 1
that aren't meant to be visible to the OS. Added QUIRK_APPLE_S3X_NS1_ONLY
and nvme_ctrlr_num_namespaces()/nvme_ctrlr_nsid_visible() helpers, and
route namespace construction, notification, and AER namespace-changed
handling through them instead of a raw cdata.nn count.

MFC after: 1 week

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 75590
Build 72473: arc lint + arc unit

Event Timeline

This looks good.
Sometimes I might have split the new quirk from the new behavior, but this case seems to be fine because (a) splitting it wouldn't help bisectability and (b) splitting wouldn't make it easier to review.

This revision is now accepted and ready to land.Aug 14 2026, 8:41 PM

I hope to get this code removed once we have MQS.

Disk Speed is ok, but it has the capability to be faster.

This revision was automatically updated to reflect the committed changes.