Provided by: libnvme-dev_1.3-1~ubuntu22.04_amd64 bug

NAME

       enum  nvme_status_field  - 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_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_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_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_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.