Page MenuHomeFreeBSD

nvme: limit visible namespaces on Apple S3X
ClosedPublic

Authored by seuros on Fri, Aug 14, 3:48 PM.
Tags
None
Referenced Files
F171615297: D58844.id184054.diff
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 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.Fri, Aug 14, 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.