Page MenuHomeFreeBSD

nvme: Add quirk for broken namespace-change log
Needs ReviewPublic

Authored by cperciva on Tue, Jul 14, 6:50 PM.
Tags
None
Referenced Files
F163247669: D58231.diff
Tue, Jul 21, 9:47 AM
F163232803: D58231.id181988.diff
Tue, Jul 21, 7:01 AM
F163232489: D58231.id181988.diff
Tue, Jul 21, 6:58 AM
F163218911: D58231.id.diff
Tue, Jul 21, 4:10 AM
Unknown Object (File)
Sun, Jul 19, 2:42 AM
Unknown Object (File)
Sat, Jul 18, 5:41 PM
Unknown Object (File)
Sat, Jul 18, 2:45 AM
Unknown Object (File)
Fri, Jul 17, 11:05 PM
Subscribers

Details

Reviewers
imp
Summary

Add a QUIRK_EMPTY_NAMESPACE_CHANGED_LOG quirk which indicates that the
nvme controller may not properly populate the namespace-changed log
page. If we receive a NVME_LOG_CHANGED_NAMESPACE page for a device
with this quirk and the page is empty, probe all of the namespaces
rather than none of them.

MFC after: 1 week
Sponsored by: Amazon

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 74801
Build 71684: arc lint + arc unit

Event Timeline

sys/dev/nvme/nvme_ctrlr.c
1312

@imp I followed the pattern of what you wrote earlier, in terms of notifying every child about each (potentially) changed namespace, but I have to admit that I don't understand under what conditions we would have multiple children or whether it would make sense that all of them need to be notified about all of the changed namespaces.

sys/dev/nvme/nvme_ctrlr.c
1312

Worst case is we send a size changed event with no size change i think.