Page MenuHomeFreeBSD

nvmft: Return NVME_SC_INVALID_LOG_PAGE for unsupported or invalid log pages
Needs ReviewPublic

Authored by jhb on Thu, Oct 8, 3:54 PM.
Tags
None
Referenced Files
F175290756: D60480.diff
Fri, Oct 9, 5:23 PM
F175277506: D60480.id189071.diff
Fri, Oct 9, 4:03 PM
F175271028: D60480.id189071.diff
Fri, Oct 9, 3:06 PM
F175270890: D60480.id189071.diff
Fri, Oct 9, 3:05 PM
F175270874: D60480.diff
Fri, Oct 9, 3:05 PM
F175217383: D60480.diff
Fri, Oct 9, 4:40 AM
F175173644: D60480.id189071.diff
Thu, Oct 8, 9:00 PM
F175173367: D60480.diff
Thu, Oct 8, 8:56 PM
Subscribers

Details

Reviewers
None
Group Reviewers
cam
Summary

The NVMe 1.4 spec is a bit confusing as some (apparently older) text in
section 5.14 says that if a command "specifies a Log Identifier that is
not supported, then the controller should abort the command with
status Invalid Field in Command." However, later in section 5.14.2 that
describes the response to a Get Log Page command there is a table of
command-specific status values with a single entry for "Invalid Log Page"
with the description:

The log page indicated is invalid or not supported. This error condition
is also returned if a reserved log page is requested. Controllers
compliant with versions 1.3 and earlier of the specification may return
Invalid Field in Command for this condition.

Sponsored by: Chelsio Communications

Diff Detail

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

Event Timeline

jhb requested review of this revision.Thu, Oct 8, 3:54 PM

The 2.0c spec is more consistent with this approach in that the older text is now updated to also mention this error code, though the description of the error code in 2.0c now says that "controllers from 2.0 and before" may return the generic error instead. Note that at present the nvmft module only claims to implement version 1.4.