nvme_status_field - Man Page

Defines all parts of the nvme status field: status code, status code type, and additional flags.

Synopsis

enum nvme_status_field {
   NVME_SCT_GENERIC ,

   NVME_SCT_CMD_SPECIFIC ,

   NVME_SCT_MEDIA ,

   NVME_SCT_PATH ,

   NVME_SCT_VS ,

   NVME_SCT_MASK ,

   NVME_SCT_SHIFT ,

   NVME_SC_MASK ,

   NVME_SC_SHIFT ,

   NVME_SC_SUCCESS ,

   NVME_SC_INVALID_OPCODE ,

   NVME_SC_INVALID_FIELD ,

   NVME_SC_CMDID_CONFLICT ,

   NVME_SC_DATA_XFER_ERROR ,

   NVME_SC_POWER_LOSS ,

   NVME_SC_INTERNAL ,

   NVME_SC_ABORT_REQ ,

   NVME_SC_ABORT_QUEUE ,

   NVME_SC_FUSED_FAIL ,

   NVME_SC_FUSED_MISSING ,

   NVME_SC_INVALID_NS ,

   NVME_SC_CMD_SEQ_ERROR ,

   NVME_SC_SGL_INVALID_LAST ,

   NVME_SC_SGL_INVALID_COUNT ,

   NVME_SC_SGL_INVALID_DATA ,

   NVME_SC_SGL_INVALID_METADATA ,

   NVME_SC_SGL_INVALID_TYPE ,

   NVME_SC_CMB_INVALID_USE ,

   NVME_SC_PRP_INVALID_OFFSET ,

   NVME_SC_AWU_EXCEEDED ,

   NVME_SC_OP_DENIED ,

   NVME_SC_SGL_INVALID_OFFSET ,

   NVME_SC_HOSTID_FORMAT ,

   NVME_SC_KAT_EXPIRED ,

   NVME_SC_KAT_INVALID ,

   NVME_SC_CMD_ABORTED_PREMEPT ,

   NVME_SC_SANITIZE_FAILED ,

   NVME_SC_SANITIZE_IN_PROGRESS ,

   NVME_SC_SGL_INVALID_GRANULARITY ,

   NVME_SC_CMD_IN_CMBQ_NOT_SUPP ,

   NVME_SC_NS_WRITE_PROTECTED ,

   NVME_SC_CMD_INTERRUPTED ,

   NVME_SC_TRAN_TPORT_ERROR ,

   NVME_SC_PROHIBITED_BY_CMD_AND_FEAT ,

   NVME_SC_ADMIN_CMD_MEDIA_NOT_READY ,

   NVME_SC_FDP_DISABLED ,

   NVME_SC_INVALID_PLACEMENT_HANDLE_LIST ,

   NVME_SC_LBA_RANGE ,

   NVME_SC_CAP_EXCEEDED ,

   NVME_SC_NS_NOT_READY ,

   NVME_SC_RESERVATION_CONFLICT ,

   NVME_SC_FORMAT_IN_PROGRESS ,

   NVME_SC_CQ_INVALID ,

   NVME_SC_QID_INVALID ,

   NVME_SC_QUEUE_SIZE ,

   NVME_SC_ABORT_LIMIT ,

   NVME_SC_ABORT_MISSING ,

   NVME_SC_ASYNC_LIMIT ,

   NVME_SC_FIRMWARE_SLOT ,

   NVME_SC_FIRMWARE_IMAGE ,

   NVME_SC_INVALID_VECTOR ,

   NVME_SC_INVALID_LOG_PAGE ,

   NVME_SC_INVALID_FORMAT ,

   NVME_SC_FW_NEEDS_CONV_RESET ,

   NVME_SC_INVALID_QUEUE ,

   NVME_SC_FEATURE_NOT_SAVEABLE ,

   NVME_SC_FEATURE_NOT_CHANGEABLE ,

   NVME_SC_FEATURE_NOT_PER_NS ,

   NVME_SC_FW_NEEDS_SUBSYS_RESET ,

   NVME_SC_FW_NEEDS_RESET ,

   NVME_SC_FW_NEEDS_MAX_TIME ,

   NVME_SC_FW_ACTIVATE_PROHIBITED ,

   NVME_SC_OVERLAPPING_RANGE ,

   NVME_SC_NS_INSUFFICIENT_CAP ,

   NVME_SC_NS_ID_UNAVAILABLE ,

   NVME_SC_NS_ALREADY_ATTACHED ,

   NVME_SC_NS_IS_PRIVATE ,

   NVME_SC_NS_NOT_ATTACHED ,

   NVME_SC_THIN_PROV_NOT_SUPP ,

   NVME_SC_CTRL_LIST_INVALID ,

   NVME_SC_SELF_TEST_IN_PROGRESS ,

   NVME_SC_BP_WRITE_PROHIBITED ,

   NVME_SC_INVALID_CTRL_ID ,

   NVME_SC_INVALID_SEC_CTRL_STATE ,

   NVME_SC_INVALID_CTRL_RESOURCES ,

   NVME_SC_INVALID_RESOURCE_ID ,

   NVME_SC_PMR_SAN_PROHIBITED ,

   NVME_SC_ANA_GROUP_ID_INVALID ,

   NVME_SC_ANA_ATTACH_FAILED ,

   NVME_SC_INSUFFICIENT_CAP ,

   NVME_SC_NS_ATTACHMENT_LIMIT_EXCEEDED ,

   NVME_SC_PROHIBIT_CMD_EXEC_NOT_SUPPORTED ,

   NVME_SC_IOCS_NOT_SUPPORTED ,

   NVME_SC_IOCS_NOT_ENABLED ,

   NVME_SC_IOCS_COMBINATION_REJECTED ,

   NVME_SC_INVALID_IOCS ,

   NVME_SC_ID_UNAVAILABLE ,

   NVME_SC_INVALID_DISCOVERY_INFO ,

   NVME_SC_ZONING_DATA_STRUCT_LOCKED ,

   NVME_SC_ZONING_DATA_STRUCT_NOTFND ,

   NVME_SC_INSUFFICIENT_DISC_RES ,

   NVME_SC_REQSTD_FUNCTION_DISABLED ,

   NVME_SC_ZONEGRP_ORIGINATOR_INVLD ,

   NVME_SC_BAD_ATTRIBUTES ,

   NVME_SC_INVALID_PI ,

   NVME_SC_READ_ONLY ,

   NVME_SC_CMD_SIZE_LIMIT_EXCEEDED ,

   NVME_SC_INCOMPATIBLE_NS ,

   NVME_SC_FAST_COPY_NOT_POSSIBLE ,

   NVME_SC_OVERLAPPING_IO_RANGE ,

   NVME_SC_INSUFFICIENT_RESOURCES ,

   NVME_SC_CONNECT_FORMAT ,

   NVME_SC_CONNECT_CTRL_BUSY ,

   NVME_SC_CONNECT_INVALID_PARAM ,

   NVME_SC_CONNECT_RESTART_DISC ,

   NVME_SC_CONNECT_INVALID_HOST ,

   NVME_SC_DISCONNECT_INVALID_QTYPE ,

   NVME_SC_DISCOVERY_RESTART ,

   NVME_SC_AUTH_REQUIRED ,

   NVME_SC_ZNS_INVALID_OP_REQUEST ,

   NVME_SC_ZNS_ZRWA_RESOURCES_UNAVAILABLE ,

   NVME_SC_ZNS_BOUNDARY_ERROR ,

   NVME_SC_ZNS_FULL ,

   NVME_SC_ZNS_READ_ONLY ,

   NVME_SC_ZNS_OFFLINE ,

   NVME_SC_ZNS_INVALID_WRITE ,

   NVME_SC_ZNS_TOO_MANY_ACTIVE ,

   NVME_SC_ZNS_TOO_MANY_OPENS ,

   NVME_SC_ZNS_INVAL_TRANSITION ,

   NVME_SC_WRITE_FAULT ,

   NVME_SC_READ_ERROR ,

   NVME_SC_GUARD_CHECK ,

   NVME_SC_APPTAG_CHECK ,

   NVME_SC_REFTAG_CHECK ,

   NVME_SC_COMPARE_FAILED ,

   NVME_SC_ACCESS_DENIED ,

   NVME_SC_UNWRITTEN_BLOCK ,

   NVME_SC_STORAGE_TAG_CHECK ,

   NVME_SC_ANA_INTERNAL_PATH_ERROR ,

   NVME_SC_ANA_PERSISTENT_LOSS ,

   NVME_SC_ANA_INACCESSIBLE ,

   NVME_SC_ANA_TRANSITION ,

   NVME_SC_CTRL_PATH_ERROR ,

   NVME_SC_HOST_PATH_ERROR ,

   NVME_SC_CMD_ABORTED_BY_HOST ,

   NVME_SC_CRD ,

   NVME_SC_MORE ,

   NVME_SC_DNR

};

Constants

NVME_SCT_GENERIC

Generic errors applicable to multiple opcodes

NVME_SCT_CMD_SPECIFIC

Errors associated to a specific opcode

NVME_SCT_MEDIA

Errors associated with media and data integrity

NVME_SCT_PATH

Errors associated with the paths connection

NVME_SCT_VS

Vendor specific errors

NVME_SCT_MASK

Mask to get the value of the Status Code Type

NVME_SCT_SHIFT

Shift value to get the value of the Status Code Type

NVME_SC_MASK

Mask to get the value of the status code.

NVME_SC_SHIFT

Shift value to get the value of the status code.

NVME_SC_SUCCESS

Successful Completion: The command completed without error.

NVME_SC_INVALID_OPCODE

Invalid Command Opcode: A reserved coded value or an unsupported value in the command opcode field.

NVME_SC_INVALID_FIELD

Invalid Field in Command: A reserved coded value or an unsupported value in a defined field.

NVME_SC_CMDID_CONFLICT

Command ID Conflict: The command identifier is already in use.

NVME_SC_DATA_XFER_ERROR

Data Transfer Error: Transferring the data or metadata associated with a command experienced an error.

NVME_SC_POWER_LOSS

Commands Aborted due to Power Loss Notification: Indicates that the command was aborted due to a power loss notification.

NVME_SC_INTERNAL

Internal Error: The command was not completed successfully due to an internal error.

NVME_SC_ABORT_REQ

Command Abort Requested: The command was aborted due to an Abort command being received that specified the Submission Queue Identifier and Command Identifier of this command.

NVME_SC_ABORT_QUEUE

Command Aborted due to SQ Deletion: The command was aborted due to a Delete I/O Submission Queue request received for the Submission Queue to which the command was submitted.

NVME_SC_FUSED_FAIL

Command Aborted due to Failed Fused Command: The command was aborted due to the other command in a fused operation failing.

NVME_SC_FUSED_MISSING

Aborted due to Missing Fused Command: The fused command was aborted due to the adjacent submission queue entry not containing a fused command that is the other command.

NVME_SC_INVALID_NS

Invalid Namespace or Format: The namespace or the format of that namespace is invalid.

NVME_SC_CMD_SEQ_ERROR

Command Sequence Error: The command was aborted due to a protocol violation in a multi-command sequence.

NVME_SC_SGL_INVALID_LAST

Invalid SGL Segment Descriptor: The command includes an invalid SGL Last Segment or SGL Segment descriptor.

NVME_SC_SGL_INVALID_COUNT

Invalid Number of SGL Descriptors: There is an SGL Last Segment descriptor or an SGL Segment descriptor in a location other than the last descriptor of a segment based on the length indicated.

NVME_SC_SGL_INVALID_DATA

Data SGL Length Invalid: This may occur if the length of a Data SGL is too short. This may occur if the length of a Data SGL is too long and the controller does not support SGL transfers longer than the amount of data to be transferred as indicated in the SGL Support field of the Identify Controller data structure.

NVME_SC_SGL_INVALID_METADATA

Metadata SGL Length Invalid: This may occur if the length of a Metadata SGL is too short. This may occur if the length of a Metadata SGL is too long and the controller does not support SGL transfers longer than the amount of data to be transferred as indicated in the SGL Support field of the Identify Controller data structure.

NVME_SC_SGL_INVALID_TYPE

SGL Descriptor Type Invalid: The type of an SGL Descriptor is a type that is not supported by the controller.

NVME_SC_CMB_INVALID_USE

Invalid Use of Controller Memory Buffer: The attempted use of the Controller Memory Buffer is not supported by the controller.

NVME_SC_PRP_INVALID_OFFSET

PRP Offset Invalid: The Offset field for a PRP entry is invalid.

NVME_SC_AWU_EXCEEDED

Atomic Write Unit Exceeded: The length specified exceeds the atomic write unit size.

NVME_SC_OP_DENIED

Operation Denied: The command was denied due to lack of access rights. Refer to the appropriate security specification.

NVME_SC_SGL_INVALID_OFFSET

SGL Offset Invalid: The offset specified in a descriptor is invalid. This may occur when using capsules for data transfers in NVMe over Fabrics implementations and an invalid offset in the capsule is specified.

NVME_SC_HOSTID_FORMAT

Host Identifier Inconsistent Format: The NVM subsystem detected the simultaneous use of 64- bit and 128-bit Host Identifier values on different controllers.

NVME_SC_KAT_EXPIRED

Keep Alive Timer Expired: The Keep Alive Timer expired.

NVME_SC_KAT_INVALID

Keep Alive Timeout Invalid: The Keep Alive Timeout value specified is invalid.

NVME_SC_CMD_ABORTED_PREMEPT

Command Aborted due to Preempt and Abort: The command was aborted due to a Reservation Acquire command.

NVME_SC_SANITIZE_FAILED

Sanitize Failed: The most recent sanitize operation failed and no recovery action has been successfully completed.

NVME_SC_SANITIZE_IN_PROGRESS

Sanitize In Progress: The requested function (e.g., command) is prohibited while a sanitize operation is in progress.

NVME_SC_SGL_INVALID_GRANULARITY

SGL Data Block Granularity Invalid: The Address alignment or Length granularity for an SGL Data Block descriptor is invalid.

NVME_SC_CMD_IN_CMBQ_NOT_SUPP

Command Not Supported for Queue in CMB: The implementation does not support submission of the command to a Submission Queue in the Controller Memory Buffer or command completion to a Completion Queue in the Controller Memory Buffer.

NVME_SC_NS_WRITE_PROTECTED

Namespace is Write Protected: The command is prohibited while the namespace is write protected as a result of a change in the namespace write protection state as defined by the Namespace Write Protection State Machine.

NVME_SC_CMD_INTERRUPTED

Command Interrupted: Command processing was interrupted and the controller is unable to successfully complete the command. The host should retry the command.

NVME_SC_TRAN_TPORT_ERROR

Transient Transport Error: A transient transport error was detected. If the command is retried on the same controller, the command is likely to succeed. A command that fails with a transient transport error four or more times should be treated as a persistent transport error that is not likely to succeed if retried on the same controller.

NVME_SC_PROHIBITED_BY_CMD_AND_FEAT

Command Prohibited by Command and Feature Lockdown: The command was aborted due to command execution being prohibited by the Command and Feature Lockdown.

NVME_SC_ADMIN_CMD_MEDIA_NOT_READY

Admin Command Media Not Ready: The Admin command requires access to media and the media is not ready.

NVME_SC_FDP_DISABLED

Command is not allowed when Flexible Data Placement is disabled.

NVME_SC_INVALID_PLACEMENT_HANDLE_LIST

The Placement Handle List is invalid due to invalid Reclaim Unit Handle Identifier or valid Reclaim Unit Handle Identifier but restricted or the Placement Handle List number of entries exceeded the maximum number allowed.

NVME_SC_LBA_RANGE

LBA Out of Range: The command references an LBA that exceeds the size of the namespace.

NVME_SC_CAP_EXCEEDED

Capacity Exceeded: Execution of the command has caused the capacity of the namespace to be exceeded.

NVME_SC_NS_NOT_READY

Namespace Not Ready: The namespace is not ready to be accessed as a result of a condition other than a condition that is reported as an Asymmetric Namespace Access condition.

NVME_SC_RESERVATION_CONFLICT

Reservation Conflict: The command was aborted due to a conflict with a reservation held on the accessed namespace.

NVME_SC_FORMAT_IN_PROGRESS

Format In Progress: A Format NVM command is in progress on the namespace.

NVME_SC_CQ_INVALID

Completion Queue Invalid: The Completion Queue identifier specified in the command does not exist.

NVME_SC_QID_INVALID

Invalid Queue Identifier: The creation of the I/O Completion Queue failed due to an invalid queue identifier specified as part of the command. An invalid queue identifier is one that is currently in use or one that is outside the range supported by the controller.

NVME_SC_QUEUE_SIZE

Invalid Queue Size: The host attempted to create an I/O Completion Queue with an invalid number of entries.

NVME_SC_ABORT_LIMIT

Abort Command Limit Exceeded: The number of concurrently outstanding Abort commands has exceeded the limit indicated in the Identify Controller data structure.

NVME_SC_ABORT_MISSING

Abort Command is missing: The abort command is missing.

NVME_SC_ASYNC_LIMIT

Asynchronous Event Request Limit Exceeded: The number of concurrently outstanding Asynchronous Event Request commands has been exceeded.

NVME_SC_FIRMWARE_SLOT

Invalid Firmware Slot: The firmware slot indicated is invalid or read only. This error is indicated if the firmware slot exceeds the number supported.

NVME_SC_FIRMWARE_IMAGE

Invalid Firmware Image: The firmware image specified for activation is invalid and not loaded by the controller.

NVME_SC_INVALID_VECTOR

Invalid Interrupt Vector: The creation of the I/O Completion Queue failed due to an invalid interrupt vector specified as part of the command.

NVME_SC_INVALID_LOG_PAGE

Invalid Log Page: The log page indicated is invalid. This error condition is also returned if a reserved log page is requested.

NVME_SC_INVALID_FORMAT

Invalid Format: The LBA Format specified is not supported.

NVME_SC_FW_NEEDS_CONV_RESET

Firmware Activation Requires Conventional Reset: The firmware commit was successful, however, activation of the firmware image requires a conventional reset.

NVME_SC_INVALID_QUEUE

Invalid Queue Deletion: Invalid I/O Completion Queue specified to delete.

NVME_SC_FEATURE_NOT_SAVEABLE

Feature Identifier Not Saveable: The Feature Identifier specified does not support a saveable value.

NVME_SC_FEATURE_NOT_CHANGEABLE

Feature Not Changeable: The Feature Identifier is not able to be changed.

NVME_SC_FEATURE_NOT_PER_NS

Feature Not Namespace Specific: The Feature Identifier specified is not namespace specific. The Feature Identifier settings apply across all namespaces.

NVME_SC_FW_NEEDS_SUBSYS_RESET

Firmware Activation Requires NVM Subsystem Reset: The firmware commit was successful, however, activation of the firmware image requires an NVM Subsystem.

NVME_SC_FW_NEEDS_RESET

Firmware Activation Requires Controller Level Reset: The firmware commit was successful; however, the image specified does not support being activated without a reset.

NVME_SC_FW_NEEDS_MAX_TIME

Firmware Activation Requires Maximum Time Violation: The image specified if activated immediately would exceed the Maximum Time for Firmware Activation (MTFA) value reported in Identify Controller.

NVME_SC_FW_ACTIVATE_PROHIBITED

Firmware Activation Prohibited: The image specified is being prohibited from activation by the controller for vendor specific reasons.

NVME_SC_OVERLAPPING_RANGE

Overlapping Range: The downloaded firmware image has overlapping ranges.

NVME_SC_NS_INSUFFICIENT_CAP

Namespace Insufficient Capacity: Creating the namespace requires more free space than is currently available.

NVME_SC_NS_ID_UNAVAILABLE

Namespace Identifier Unavailable: The number of namespaces supported has been exceeded.

NVME_SC_NS_ALREADY_ATTACHED

Namespace Already Attached: The controller is already attached to the namespace specified.

NVME_SC_NS_IS_PRIVATE

Namespace Is Private: The namespace is private and is already attached to one controller.

NVME_SC_NS_NOT_ATTACHED

Namespace Not Attached: The request to detach the controller could not be completed because the controller is not attached to the namespace.

NVME_SC_THIN_PROV_NOT_SUPP

Thin Provisioning Not Supported: Thin provisioning is not supported by the controller.

NVME_SC_CTRL_LIST_INVALID

Controller List Invalid: The controller list provided contains invalid controller ids.

NVME_SC_SELF_TEST_IN_PROGRESS

Device Self-test In Progress: The controller or NVM subsystem already has a device self-test operation in process.

NVME_SC_BP_WRITE_PROHIBITED

Boot Partition Write Prohibited: The command is trying to modify a locked Boot Partition.

NVME_SC_INVALID_CTRL_ID

Invalid Controller Identifier:

NVME_SC_INVALID_SEC_CTRL_STATE

Invalid Secondary Controller State

NVME_SC_INVALID_CTRL_RESOURCES

Invalid Number of Controller Resources

NVME_SC_INVALID_RESOURCE_ID

Invalid Resource Identifier

NVME_SC_PMR_SAN_PROHIBITED

Sanitize Prohibited While Persistent Memory Region is Enabled

NVME_SC_ANA_GROUP_ID_INVALID

ANA Group Identifier Invalid: The specified ANA Group Identifier (ANAGRPID) is not supported in the submitted command.

NVME_SC_ANA_ATTACH_FAILED

ANA Attach Failed: The controller is not attached to the namespace as a result of an ANA condition.

NVME_SC_INSUFFICIENT_CAP

Insufficient Capacity: Requested operation requires more free space than is currently available.

NVME_SC_NS_ATTACHMENT_LIMIT_EXCEEDED

Namespace Attachment Limit Exceeded: Attaching the ns to a controller causes max number of ns attachments allowed to be exceeded.

NVME_SC_PROHIBIT_CMD_EXEC_NOT_SUPPORTED

Prohibition of Command Execution Not Supported

NVME_SC_IOCS_NOT_SUPPORTED

I/O Command Set Not Supported

NVME_SC_IOCS_NOT_ENABLED

I/O Command Set Not Enabled

NVME_SC_IOCS_COMBINATION_REJECTED

I/O Command Set Combination Rejected

NVME_SC_INVALID_IOCS

Invalid I/O Command Set

NVME_SC_ID_UNAVAILABLE

Identifier Unavailable

NVME_SC_INVALID_DISCOVERY_INFO

The discovery information provided in one or more extended discovery information entries is not applicable for the type of entity selected in the Entity Type (ETYPE) field of the Discovery Information Management command data portion’s header.

NVME_SC_ZONING_DATA_STRUCT_LOCKED

The requested Zoning data structure is locked on the CDC.

NVME_SC_ZONING_DATA_STRUCT_NOTFND

The requested Zoning data structure does not exist on the CDC.

NVME_SC_INSUFFICIENT_DISC_RES

The number of discover information entries provided in the data portion of the Discovery Information Management command for a registration task (i.e., TAS field cleared to 0h) exceeds the available capacity for new discovery information entries on the CDC or DDC. This may be a transient condition.

NVME_SC_REQSTD_FUNCTION_DISABLED

Fabric Zoning is not enabled on the CDC

NVME_SC_ZONEGRP_ORIGINATOR_INVLD

The NQN contained in the ZoneGroup Originator field does not match the Host NQN used by the DDC to connect to the CDC.

NVME_SC_BAD_ATTRIBUTES

Conflicting Dataset Management Attributes

NVME_SC_INVALID_PI

Invalid Protection Information

NVME_SC_READ_ONLY

Attempted Write to Read Only Range

NVME_SC_CMD_SIZE_LIMIT_EXCEEDED

Command Size Limit Exceeded

NVME_SC_INCOMPATIBLE_NS

Incompatible Namespace or Format: At least one source namespace and the destination namespace have incompatible formats.

NVME_SC_FAST_COPY_NOT_POSSIBLE

Fast Copy Not Possible: The Fast Copy Only (FCO) bit was set to ‘1’ in a Source Range entry and the controller was not able to use fast copy operations to copy the specified data.

NVME_SC_OVERLAPPING_IO_RANGE

Overlapping I/O Range: A source logical block range overlaps the destination logical block range.

NVME_SC_INSUFFICIENT_RESOURCES

Insufficient Resources: A resource shortage prevented the controller from performing the requested copy.

NVME_SC_CONNECT_FORMAT

Incompatible Format: The NVM subsystem does not support the record format specified by the host.

NVME_SC_CONNECT_CTRL_BUSY

Controller Busy: The controller is already associated with a host.

NVME_SC_CONNECT_INVALID_PARAM

Connect Invalid Parameters: One or more of the command parameters.

NVME_SC_CONNECT_RESTART_DISC

Connect Restart Discovery: The NVM subsystem requested is not available.

NVME_SC_CONNECT_INVALID_HOST

Connect Invalid Host: The host is either not allowed to establish an association to any controller in the NVM subsystem or the host is not allowed to establish an association to the specified controller

NVME_SC_DISCONNECT_INVALID_QTYPE

Invalid Queue Type: The command was sent on the wrong queue type.

NVME_SC_DISCOVERY_RESTART

Discover Restart: The snapshot of the records is now invalid or out of date.

NVME_SC_AUTH_REQUIRED

Authentication Required: NVMe in-band authentication is required and the queue has not yet been authenticated.

NVME_SC_ZNS_INVALID_OP_REQUEST

Invalid Zone Operation Request: The operation requested is invalid. This may be due to various conditions, including: attempting to allocate a ZRWA when a zone is not in the ZSE:Empty state; or invalid Flush Explicit ZRWA Range Send Zone Action operation.

NVME_SC_ZNS_ZRWA_RESOURCES_UNAVAILABLE

ZRWA Resources Unavailable: No ZRWAs are available.

NVME_SC_ZNS_BOUNDARY_ERROR

Zone Boundary Error: The command specifies logical blocks in more than one zone.

NVME_SC_ZNS_FULL

Zone Is Full: The accessed zone is in the ZSF:Full state.

NVME_SC_ZNS_READ_ONLY

Zone Is Read Only: The accessed zone is in the ZSRO:Read Only state.

NVME_SC_ZNS_OFFLINE

Zone Is Offline: The accessed zone is in the ZSO:Offline state.

NVME_SC_ZNS_INVALID_WRITE

Zone Invalid Write: The write to a zone was not at the write pointer.

NVME_SC_ZNS_TOO_MANY_ACTIVE

Too Many Active Zones: The controller does not allow additional active zones.

NVME_SC_ZNS_TOO_MANY_OPENS

Too Many Open Zones: The controller does not allow additional open zones.

NVME_SC_ZNS_INVAL_TRANSITION

Invalid Zone State Transition: The request is not a valid zone state transition.

NVME_SC_WRITE_FAULT

Write Fault: The write data could not be committed to the media.

NVME_SC_READ_ERROR

Unrecovered Read Error: The read data could not be recovered from the media.

NVME_SC_GUARD_CHECK

End-to-end Guard Check Error: The command was aborted due to an end-to-end guard check failure.

NVME_SC_APPTAG_CHECK

End-to-end Application Tag Check Error: The command was aborted due to an end-to-end application tag check failure.

NVME_SC_REFTAG_CHECK

End-to-end Reference Tag Check Error: The command was aborted due to an end-to-end reference tag check failure.

NVME_SC_COMPARE_FAILED

Compare Failure: The command failed due to a miscompare during a Compare command.

NVME_SC_ACCESS_DENIED

Access Denied: Access to the namespace and/or LBA range is denied due to lack of access rights.

NVME_SC_UNWRITTEN_BLOCK

Deallocated or Unwritten Logical Block: The command failed due to an attempt to read from or verify an LBA range containing a deallocated or unwritten logical block.

NVME_SC_STORAGE_TAG_CHECK

End-to-End Storage Tag Check Error: The command was aborted due to an end-to-end storage tag check failure.

NVME_SC_ANA_INTERNAL_PATH_ERROR

Internal Path Error: The command was not completed as the result of a controller internal error that is specific to the controller processing the command.

NVME_SC_ANA_PERSISTENT_LOSS

Asymmetric Access Persistent Loss: The requested function (e.g., command) is not able to be performed as a result of the relationship between the controller and the namespace being in the ANA Persistent Loss state.

NVME_SC_ANA_INACCESSIBLE

Asymmetric Access Inaccessible: The requested function (e.g., command) is not able to be performed as a result of the relationship between the controller and the namespace being in the ANA Inaccessible state.

NVME_SC_ANA_TRANSITION

Asymmetric Access Transition: The requested function (e.g., command) is not able to be performed as a result of the relationship between the controller and the namespace transitioning between Asymmetric Namespace Access states.

NVME_SC_CTRL_PATH_ERROR

Controller Pathing Error: A pathing error was detected by the controller.

NVME_SC_HOST_PATH_ERROR

Host Pathing Error: A pathing error was detected by the host.

NVME_SC_CMD_ABORTED_BY_HOST

Command Aborted By Host: The command was aborted as a result of host action.

NVME_SC_CRD

Mask to get value of Command Retry Delay index

NVME_SC_MORE

More bit. If set, more status information for this command as part of the Error Information log that may be retrieved with the Get Log Page command.

NVME_SC_DNR

Do Not Retry bit. If set, if the same command is re-submitted to any controller in the NVM subsystem, then that re-submitted command is expected to fail.

Info

enum nvme_status_field February 2024 API Manual