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)
Fri, Oct 2, 11:21 AM
Unknown Object (File)
Wed, Sep 30, 2:41 AM
Unknown Object (File)
Mon, Sep 28, 11:34 AM
Unknown Object (File)
Sat, Sep 26, 10:19 AM
Unknown Object (File)
Mon, Sep 21, 10:29 PM
Unknown Object (File)
Thu, Sep 17, 8:22 AM
Unknown Object (File)
Sat, Sep 12, 4:51 AM
Unknown Object (File)
Fri, Sep 11, 3:48 AM
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 Not Applicable
Unit
Tests Not Applicable

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.