1libnvme(9)                        API Manual                        libnvme(9)
2
3
4

NAME

6       enum  nvme_status_field  -  Defines all parts of the nvme status field:
7       status code, status code type, and additional flags.
8

SYNOPSIS

10       enum nvme_status_field {
11           NVME_SCT_GENERIC ,
12           NVME_SCT_CMD_SPECIFIC ,
13           NVME_SCT_MEDIA ,
14           NVME_SCT_PATH ,
15           NVME_SCT_VS ,
16           NVME_SCT_MASK ,
17           NVME_SCT_SHIFT ,
18           NVME_SC_MASK ,
19           NVME_SC_SHIFT ,
20           NVME_SC_SUCCESS ,
21           NVME_SC_INVALID_OPCODE ,
22           NVME_SC_INVALID_FIELD ,
23           NVME_SC_CMDID_CONFLICT ,
24           NVME_SC_DATA_XFER_ERROR ,
25           NVME_SC_POWER_LOSS ,
26           NVME_SC_INTERNAL ,
27           NVME_SC_ABORT_REQ ,
28           NVME_SC_ABORT_QUEUE ,
29           NVME_SC_FUSED_FAIL ,
30           NVME_SC_FUSED_MISSING ,
31           NVME_SC_INVALID_NS ,
32           NVME_SC_CMD_SEQ_ERROR ,
33           NVME_SC_SGL_INVALID_LAST ,
34           NVME_SC_SGL_INVALID_COUNT ,
35           NVME_SC_SGL_INVALID_DATA ,
36           NVME_SC_SGL_INVALID_METADATA ,
37           NVME_SC_SGL_INVALID_TYPE ,
38           NVME_SC_CMB_INVALID_USE ,
39           NVME_SC_PRP_INVALID_OFFSET ,
40           NVME_SC_AWU_EXCEEDED ,
41           NVME_SC_OP_DENIED ,
42           NVME_SC_SGL_INVALID_OFFSET ,
43           NVME_SC_HOSTID_FORMAT ,
44           NVME_SC_KAT_EXPIRED ,
45           NVME_SC_KAT_INVALID ,
46           NVME_SC_CMD_ABORTED_PREMEPT ,
47           NVME_SC_SANITIZE_FAILED ,
48           NVME_SC_SANITIZE_IN_PROGRESS ,
49           NVME_SC_SGL_INVALID_GRANULARITY ,
50           NVME_SC_CMD_IN_CMBQ_NOT_SUPP ,
51           NVME_SC_NS_WRITE_PROTECTED ,
52           NVME_SC_CMD_INTERRUPTED ,
53           NVME_SC_TRAN_TPORT_ERROR ,
54           NVME_SC_PROHIBITED_BY_CMD_AND_FEAT ,
55           NVME_SC_ADMIN_CMD_MEDIA_NOT_READY ,
56           NVME_SC_LBA_RANGE ,
57           NVME_SC_CAP_EXCEEDED ,
58           NVME_SC_NS_NOT_READY ,
59           NVME_SC_RESERVATION_CONFLICT ,
60           NVME_SC_FORMAT_IN_PROGRESS ,
61           NVME_SC_CQ_INVALID ,
62           NVME_SC_QID_INVALID ,
63           NVME_SC_QUEUE_SIZE ,
64           NVME_SC_ABORT_LIMIT ,
65           NVME_SC_ABORT_MISSING ,
66           NVME_SC_ASYNC_LIMIT ,
67           NVME_SC_FIRMWARE_SLOT ,
68           NVME_SC_FIRMWARE_IMAGE ,
69           NVME_SC_INVALID_VECTOR ,
70           NVME_SC_INVALID_LOG_PAGE ,
71           NVME_SC_INVALID_FORMAT ,
72           NVME_SC_FW_NEEDS_CONV_RESET ,
73           NVME_SC_INVALID_QUEUE ,
74           NVME_SC_FEATURE_NOT_SAVEABLE ,
75           NVME_SC_FEATURE_NOT_CHANGEABLE ,
76           NVME_SC_FEATURE_NOT_PER_NS ,
77           NVME_SC_FW_NEEDS_SUBSYS_RESET ,
78           NVME_SC_FW_NEEDS_RESET ,
79           NVME_SC_FW_NEEDS_MAX_TIME ,
80           NVME_SC_FW_ACTIVATE_PROHIBITED ,
81           NVME_SC_OVERLAPPING_RANGE ,
82           NVME_SC_NS_INSUFFICIENT_CAP ,
83           NVME_SC_NS_ID_UNAVAILABLE ,
84           NVME_SC_NS_ALREADY_ATTACHED ,
85           NVME_SC_NS_IS_PRIVATE ,
86           NVME_SC_NS_NOT_ATTACHED ,
87           NVME_SC_THIN_PROV_NOT_SUPP ,
88           NVME_SC_CTRL_LIST_INVALID ,
89           NVME_SC_SELF_TEST_IN_PROGRESS ,
90           NVME_SC_BP_WRITE_PROHIBITED ,
91           NVME_SC_INVALID_CTRL_ID ,
92           NVME_SC_INVALID_SEC_CTRL_STATE ,
93           NVME_SC_INVALID_CTRL_RESOURCES ,
94           NVME_SC_INVALID_RESOURCE_ID ,
95           NVME_SC_PMR_SAN_PROHIBITED ,
96           NVME_SC_ANA_GROUP_ID_INVALID ,
97           NVME_SC_ANA_ATTACH_FAILED ,
98           NVME_SC_INSUFFICIENT_CAP ,
99           NVME_SC_NS_ATTACHMENT_LIMIT_EXCEEDED ,
100           NVME_SC_PROHIBIT_CMD_EXEC_NOT_SUPPORTED ,
101           NVME_SC_IOCS_NOT_SUPPORTED ,
102           NVME_SC_IOCS_NOT_ENABLED ,
103           NVME_SC_IOCS_COMBINATION_REJECTED ,
104           NVME_SC_INVALID_IOCS ,
105           NVME_SC_ID_UNAVAILABLE ,
106           NVME_SC_INVALID_DISCOVERY_INFO ,
107           NVME_SC_ZONING_DATA_STRUCT_LOCKED ,
108           NVME_SC_ZONING_DATA_STRUCT_NOTFND ,
109           NVME_SC_INSUFFICIENT_DISC_RES ,
110           NVME_SC_REQSTD_FUNCTION_DISABLED ,
111           NVME_SC_ZONEGRP_ORIGINATOR_INVLD ,
112           NVME_SC_BAD_ATTRIBUTES ,
113           NVME_SC_INVALID_PI ,
114           NVME_SC_READ_ONLY ,
115           NVME_SC_CMD_SIZE_LIMIT_EXCEEDED ,
116           NVME_SC_CONNECT_FORMAT ,
117           NVME_SC_CONNECT_CTRL_BUSY ,
118           NVME_SC_CONNECT_INVALID_PARAM ,
119           NVME_SC_CONNECT_RESTART_DISC ,
120           NVME_SC_CONNECT_INVALID_HOST ,
121           NVME_SC_DISCONNECT_INVALID_QTYPE ,
122           NVME_SC_DISCOVERY_RESTART ,
123           NVME_SC_AUTH_REQUIRED ,
124           NVME_SC_ZNS_INVALID_OP_REQUEST ,
125           NVME_SC_ZNS_ZRWA_RESOURCES_UNAVAILABLE ,
126           NVME_SC_ZNS_BOUNDARY_ERROR ,
127           NVME_SC_ZNS_FULL ,
128           NVME_SC_ZNS_READ_ONLY ,
129           NVME_SC_ZNS_OFFLINE ,
130           NVME_SC_ZNS_INVALID_WRITE ,
131           NVME_SC_ZNS_TOO_MANY_ACTIVE ,
132           NVME_SC_ZNS_TOO_MANY_OPENS ,
133           NVME_SC_ZNS_INVAL_TRANSITION ,
134           NVME_SC_WRITE_FAULT ,
135           NVME_SC_READ_ERROR ,
136           NVME_SC_GUARD_CHECK ,
137           NVME_SC_APPTAG_CHECK ,
138           NVME_SC_REFTAG_CHECK ,
139           NVME_SC_COMPARE_FAILED ,
140           NVME_SC_ACCESS_DENIED ,
141           NVME_SC_UNWRITTEN_BLOCK ,
142           NVME_SC_STORAGE_TAG_CHECK ,
143           NVME_SC_ANA_INTERNAL_PATH_ERROR ,
144           NVME_SC_ANA_PERSISTENT_LOSS ,
145           NVME_SC_ANA_INACCESSIBLE ,
146           NVME_SC_ANA_TRANSITION ,
147           NVME_SC_CTRL_PATH_ERROR ,
148           NVME_SC_HOST_PATH_ERROR ,
149           NVME_SC_CMD_ABORTED_BY_HOST ,
150           NVME_SC_CRD ,
151           NVME_SC_MORE ,
152           NVME_SC_DNR
153
154       };
155

Constants

157       NVME_SCT_GENERIC
158                   Generic errors applicable to multiple opcodes
159
160       NVME_SCT_CMD_SPECIFIC
161                   Errors associated to a specific opcode
162
163       NVME_SCT_MEDIA
164                   Errors associated with media and data integrity
165
166       NVME_SCT_PATH
167                   Errors associated with the paths connection
168
169       NVME_SCT_VS Vendor specific errors
170
171       NVME_SCT_MASK
172                   Mask to get the value of the Status Code Type
173
174       NVME_SCT_SHIFT
175                   -- undescribed --
176
177       NVME_SC_MASK
178                   Mask to get the value of the status code.
179
180       NVME_SC_SHIFT
181                   -- undescribed --
182
183       NVME_SC_SUCCESS
184                   Successful Completion: The command completed without error.
185
186       NVME_SC_INVALID_OPCODE
187                   Invalid Command Opcode: A reserved coded value or an unsup‐
188                   ported value in the command opcode field.
189
190       NVME_SC_INVALID_FIELD
191                   Invalid  Field in Command: A reserved coded value or an un‐
192                   supported value in a defined field.
193
194       NVME_SC_CMDID_CONFLICT
195                   Command ID Conflict: The command identifier is  already  in
196                   use.
197
198       NVME_SC_DATA_XFER_ERROR
199                   Data  Transfer Error: Transferring the data or metadata as‐
200                   sociated with a command experienced an error.
201
202       NVME_SC_POWER_LOSS
203                   Commands Aborted due to Power Loss Notification:  Indicates
204                   that  the command was aborted due to a power loss notifica‐
205                   tion.
206
207       NVME_SC_INTERNAL
208                   Internal Error: The command was not completed  successfully
209                   due to an internal error.
210
211       NVME_SC_ABORT_REQ
212                   Command  Abort Requested: The command was aborted due to an
213                   Abort command being received that specified the  Submission
214                   Queue Identifier and Command Identifier of this command.
215
216       NVME_SC_ABORT_QUEUE
217                   Command Aborted due to SQ Deletion: The command was aborted
218                   due to a Delete I/O Submission Queue request  received  for
219                   the Submission Queue to which the command was submitted.
220
221       NVME_SC_FUSED_FAIL
222                   Command  Aborted  due  to Failed Fused Command: The command
223                   was aborted due to the other command in a  fused  operation
224                   failing.
225
226       NVME_SC_FUSED_MISSING
227                   Aborted due to Missing Fused Command: The fused command was
228                   aborted due to the adjacent submission queue entry not con‐
229                   taining a fused command that is the other command.
230
231       NVME_SC_INVALID_NS
232                   Invalid Namespace or Format: The namespace or the format of
233                   that namespace is invalid.
234
235       NVME_SC_CMD_SEQ_ERROR
236                   Command Sequence Error: The command was aborted  due  to  a
237                   protocol violation in a multi-command sequence.
238
239       NVME_SC_SGL_INVALID_LAST
240                   Invalid SGL Segment Descriptor: The command includes an in‐
241                   valid SGL Last Segment or SGL Segment descriptor.
242
243       NVME_SC_SGL_INVALID_COUNT
244                   Invalid Number of SGL Descriptors: There  is  an  SGL  Last
245                   Segment  descriptor or an SGL Segment descriptor in a loca‐
246                   tion other than the last descriptor of a segment  based  on
247                   the length indicated.
248
249       NVME_SC_SGL_INVALID_DATA
250                   Data  SGL Length Invalid: This may occur if the length of a
251                   Data SGL is too short.  This may occur if the length  of  a
252                   Data  SGL  is  too long and the controller does not support
253                   SGL transfers longer than the amount of data to  be  trans‐
254                   ferred  as  indicated in the SGL Support field of the Iden‐
255                   tify Controller data structure.
256
257       NVME_SC_SGL_INVALID_METADATA
258                   Metadata SGL Length Invalid: This may occur if  the  length
259                   of  a  Metadata  SGL  is  too  short. This may occur if the
260                   length of a Metadata SGL is too  long  and  the  controller
261                   does  not  support  SGL transfers longer than the amount of
262                   data to be transferred as  indicated  in  the  SGL  Support
263                   field of the Identify Controller data structure.
264
265       NVME_SC_SGL_INVALID_TYPE
266                   SGL  Descriptor Type Invalid: The type of an SGL Descriptor
267                   is a type that is not supported by the controller.
268
269       NVME_SC_CMB_INVALID_USE
270                   Invalid Use of Controller Memory Buffer: The attempted  use
271                   of  the  Controller  Memory  Buffer is not supported by the
272                   controller.
273
274       NVME_SC_PRP_INVALID_OFFSET
275                   PRP Offset Invalid: The Offset field for a PRP entry is in‐
276                   valid.
277
278       NVME_SC_AWU_EXCEEDED
279                   Atomic  Write  Unit  Exceeded: The length specified exceeds
280                   the atomic write unit size.
281
282       NVME_SC_OP_DENIED
283                   Operation Denied: The command was denied due to lack of ac‐
284                   cess  rights.  Refer to the appropriate security specifica‐
285                   tion.
286
287       NVME_SC_SGL_INVALID_OFFSET
288                   SGL Offset Invalid: The offset specified in a descriptor is
289                   invalid. This may occur when using capsules for data trans‐
290                   fers in NVMe over Fabrics implementations  and  an  invalid
291                   offset in the capsule is specified.
292
293       NVME_SC_HOSTID_FORMAT
294                   Host  Identifier Inconsistent Format: The NVM subsystem de‐
295                   tected the simultaneous use of 64-  bit  and  128-bit  Host
296                   Identifier values on different controllers.
297
298       NVME_SC_KAT_EXPIRED
299                   Keep Alive Timer Expired: The Keep Alive Timer expired.
300
301       NVME_SC_KAT_INVALID
302                   Keep  Alive  Timeout  Invalid: The Keep Alive Timeout value
303                   specified is invalid.
304
305       NVME_SC_CMD_ABORTED_PREMEPT
306                   Command Aborted due to Preempt and Abort: The  command  was
307                   aborted due to a Reservation Acquire command.
308
309       NVME_SC_SANITIZE_FAILED
310                   Sanitize  Failed: The most recent sanitize operation failed
311                   and no recovery action has been successfully completed.
312
313       NVME_SC_SANITIZE_IN_PROGRESS
314                   Sanitize In Progress: The requested  function  (e.g.,  com‐
315                   mand)  is  prohibited  while  a  sanitize  operation  is in
316                   progress.
317
318       NVME_SC_SGL_INVALID_GRANULARITY
319                   SGL Data Block Granularity Invalid: The  Address  alignment
320                   or  Length  granularity for an SGL Data Block descriptor is
321                   invalid.
322
323       NVME_SC_CMD_IN_CMBQ_NOT_SUPP
324                   Command Not Supported for Queue in CMB: The  implementation
325                   does  not support submission of the command to a Submission
326                   Queue in the Controller Memory Buffer or command completion
327                   to a Completion Queue in the Controller Memory Buffer.
328
329       NVME_SC_NS_WRITE_PROTECTED
330                   Namespace  is  Write  Protected:  The command is prohibited
331                   while the namespace is write protected as  a  result  of  a
332                   change  in  the namespace write protection state as defined
333                   by the Namespace Write Protection State Machine.
334
335       NVME_SC_CMD_INTERRUPTED
336                   Command Interrupted: Command processing was interrupted and
337                   the  controller is unable to successfully complete the com‐
338                   mand. The host should retry the command.
339
340       NVME_SC_TRAN_TPORT_ERROR
341                   Transient Transport Error: A transient transport error  was
342                   detected. If the command is retried on the same controller,
343                   the command is likely to succeed. A command that fails with
344                   a  transient  transport  error four or more times should be
345                   treated as a persistent transport error that is not  likely
346                   to succeed if retried on the same controller.
347
348       NVME_SC_PROHIBITED_BY_CMD_AND_FEAT
349                   Command  Prohibited  by  Command  and Feature Lockdown: The
350                   command was aborted due to command execution being  prohib‐
351                   ited by the Command and Feature Lockdown.
352
353       NVME_SC_ADMIN_CMD_MEDIA_NOT_READY
354                   Admin  Command  Media Not Ready: The Admin command requires
355                   access to media and the media is not ready.
356
357       NVME_SC_LBA_RANGE
358                   LBA Out of Range: The command references an  LBA  that  ex‐
359                   ceeds the size of the namespace.
360
361       NVME_SC_CAP_EXCEEDED
362                   Capacity  Exceeded: Execution of the command has caused the
363                   capacity of the namespace to be exceeded.
364
365       NVME_SC_NS_NOT_READY
366                   Namespace Not Ready: The namespace is not ready to  be  ac‐
367                   cessed  as  a  result of a condition other than a condition
368                   that is reported as an Asymmetric Namespace  Access  condi‐
369                   tion.
370
371       NVME_SC_RESERVATION_CONFLICT
372                   Reservation Conflict: The command was aborted due to a con‐
373                   flict with a reservation held on the accessed namespace.
374
375       NVME_SC_FORMAT_IN_PROGRESS
376                   Format In Progress: A Format NVM command is in progress  on
377                   the namespace.
378
379       NVME_SC_CQ_INVALID
380                   Completion  Queue  Invalid: The Completion Queue identifier
381                   specified in the command does not exist.
382
383       NVME_SC_QID_INVALID
384                   Invalid Queue Identifier: The creation of the  I/O  Comple‐
385                   tion Queue failed due to an invalid queue identifier speci‐
386                   fied as part of the command. An invalid queue identifier is
387                   one  that  is  currently  in use or one that is outside the
388                   range supported by the controller.
389
390       NVME_SC_QUEUE_SIZE
391                   Invalid Queue Size: The host attempted  to  create  an  I/O
392                   Completion Queue with an invalid number of entries.
393
394       NVME_SC_ABORT_LIMIT
395                   Abort  Command  Limit  Exceeded: The number of concurrently
396                   outstanding Abort commands has exceeded the limit indicated
397                   in the Identify Controller data structure.
398
399       NVME_SC_ABORT_MISSING
400                   Abort Command is missing: The abort command is missing.
401
402       NVME_SC_ASYNC_LIMIT
403                   Asynchronous  Event  Request  Limit Exceeded: The number of
404                   concurrently outstanding Asynchronous  Event  Request  com‐
405                   mands has been exceeded.
406
407       NVME_SC_FIRMWARE_SLOT
408                   Invalid  Firmware  Slot: The firmware slot indicated is in‐
409                   valid or read only. This error is indicated if the firmware
410                   slot exceeds the number supported.
411
412       NVME_SC_FIRMWARE_IMAGE
413                   Invalid  Firmware  Image:  The firmware image specified for
414                   activation is invalid and not loaded by the controller.
415
416       NVME_SC_INVALID_VECTOR
417                   Invalid Interrupt Vector: The creation of the  I/O  Comple‐
418                   tion Queue failed due to an invalid interrupt vector speci‐
419                   fied as part of the command.
420
421       NVME_SC_INVALID_LOG_PAGE
422                   Invalid Log Page: The log page indicated is  invalid.  This
423                   error  condition is also returned if a reserved log page is
424                   requested.
425
426       NVME_SC_INVALID_FORMAT
427                   Invalid Format: The LBA Format specified is not supported.
428
429       NVME_SC_FW_NEEDS_CONV_RESET
430                   Firmware  Activation  Requires  Conventional   Reset:   The
431                   firmware  commit was successful, however, activation of the
432                   firmware image requires a conventional reset.
433
434       NVME_SC_INVALID_QUEUE
435                   Invalid Queue Deletion: Invalid I/O Completion Queue speci‐
436                   fied to delete.
437
438       NVME_SC_FEATURE_NOT_SAVEABLE
439                   Feature  Identifier  Not  Saveable:  The Feature Identifier
440                   specified does not support a saveable value.
441
442       NVME_SC_FEATURE_NOT_CHANGEABLE
443                   Feature Not Changeable: The Feature Identifier is not  able
444                   to be changed.
445
446       NVME_SC_FEATURE_NOT_PER_NS
447                   Feature  Not  Namespace  Specific:  The  Feature Identifier
448                   specified is not namespace specific. The Feature Identifier
449                   settings apply across all namespaces.
450
451       NVME_SC_FW_NEEDS_SUBSYS_RESET
452                   Firmware  Activation  Requires  NVM  Subsystem  Reset:  The
453                   firmware commit was successful, however, activation of  the
454                   firmware image requires an NVM Subsystem.
455
456       NVME_SC_FW_NEEDS_RESET
457                   Firmware  Activation  Requires  Controller Level Reset: The
458                   firmware commit was successful; however, the  image  speci‐
459                   fied does not support being activated without a reset.
460
461       NVME_SC_FW_NEEDS_MAX_TIME
462                   Firmware  Activation  Requires  Maximum Time Violation: The
463                   image specified if activated immediately would  exceed  the
464                   Maximum  Time for Firmware Activation (MTFA) value reported
465                   in Identify Controller.
466
467       NVME_SC_FW_ACTIVATE_PROHIBITED
468                   Firmware Activation Prohibited: The image specified is  be‐
469                   ing prohibited from activation by the controller for vendor
470                   specific reasons.
471
472       NVME_SC_OVERLAPPING_RANGE
473                   Overlapping Range: The downloaded firmware image has  over‐
474                   lapping ranges.
475
476       NVME_SC_NS_INSUFFICIENT_CAP
477                   Namespace Insufficient Capacity: Creating the namespace re‐
478                   quires more free space than is currently available.
479
480       NVME_SC_NS_ID_UNAVAILABLE
481                   Namespace Identifier Unavailable: The number of  namespaces
482                   supported has been exceeded.
483
484       NVME_SC_NS_ALREADY_ATTACHED
485                   Namespace  Already  Attached: The controller is already at‐
486                   tached to the namespace specified.
487
488       NVME_SC_NS_IS_PRIVATE
489                   Namespace Is Private: The namespace is private and  is  al‐
490                   ready attached to one controller.
491
492       NVME_SC_NS_NOT_ATTACHED
493                   Namespace  Not  Attached:  The  request  to detach the con‐
494                   troller could not be completed because  the  controller  is
495                   not attached to the namespace.
496
497       NVME_SC_THIN_PROV_NOT_SUPP
498                   Thin  Provisioning  Not Supported: Thin provisioning is not
499                   supported by the controller.
500
501       NVME_SC_CTRL_LIST_INVALID
502                   Controller List Invalid: The controller list provided  con‐
503                   tains invalid controller ids.
504
505       NVME_SC_SELF_TEST_IN_PROGRESS
506                   Device Self-test In Progress: The controller or NVM subsys‐
507                   tem already has a device self-test operation in process.
508
509       NVME_SC_BP_WRITE_PROHIBITED
510                   Boot Partition Write Prohibited: The command is  trying  to
511                   modify a locked Boot Partition.
512
513       NVME_SC_INVALID_CTRL_ID
514                   Invalid Controller Identifier:
515
516       NVME_SC_INVALID_SEC_CTRL_STATE
517                   Invalid Secondary Controller State
518
519       NVME_SC_INVALID_CTRL_RESOURCES
520                   Invalid Number of Controller Resources
521
522       NVME_SC_INVALID_RESOURCE_ID
523                   Invalid Resource Identifier
524
525       NVME_SC_PMR_SAN_PROHIBITED
526                   Sanitize  Prohibited  While Persistent Memory Region is En‐
527                   abled
528
529       NVME_SC_ANA_GROUP_ID_INVALID
530                   ANA Group Identifier Invalid: The specified ANA Group Iden‐
531                   tifier  (ANAGRPID)  is  not supported in the submitted com‐
532                   mand.
533
534       NVME_SC_ANA_ATTACH_FAILED
535                   ANA Attach Failed: The controller is not  attached  to  the
536                   namespace as a result of an ANA condition.
537
538       NVME_SC_INSUFFICIENT_CAP
539                   Insufficient  Capacity:  Requested  operation requires more
540                   free space than is currently available.
541
542       NVME_SC_NS_ATTACHMENT_LIMIT_EXCEEDED
543                   Namespace Attachment Limit Exceeded: Attaching the ns to  a
544                   controller  causes  max number of ns attachments allowed to
545                   be exceeded.
546
547       NVME_SC_PROHIBIT_CMD_EXEC_NOT_SUPPORTED
548                   Prohibition of Command Execution Not Supported
549
550       NVME_SC_IOCS_NOT_SUPPORTED
551                   I/O Command Set Not Supported
552
553       NVME_SC_IOCS_NOT_ENABLED
554                   I/O Command Set Not Enabled
555
556       NVME_SC_IOCS_COMBINATION_REJECTED
557                   I/O Command Set Combination Rejected
558
559       NVME_SC_INVALID_IOCS
560                   Invalid I/O Command Set
561
562       NVME_SC_ID_UNAVAILABLE
563                   Identifier Unavailable
564
565       NVME_SC_INVALID_DISCOVERY_INFO
566                   The discovery information provided in one or more  extended
567                   discovery  information  entries  is  not applicable for the
568                   type of entity selected in the Entity Type (ETYPE) field of
569                   the Discovery Information Management command data portion’s
570                   header.
571
572       NVME_SC_ZONING_DATA_STRUCT_LOCKED
573                   The requested Zoning data structure is locked on the CDC.
574
575       NVME_SC_ZONING_DATA_STRUCT_NOTFND
576                   The requested Zoning data structure does not exist  on  the
577                   CDC.
578
579       NVME_SC_INSUFFICIENT_DISC_RES
580                   The  number of discover information entries provided in the
581                   data portion of the Discovery Information  Management  com‐
582                   mand  for  a  registration task (i.e., TAS field cleared to
583                   0h) exceeds the available capacity for new discovery infor‐
584                   mation  entries  on the CDC or DDC. This may be a transient
585                   condition.
586
587       NVME_SC_REQSTD_FUNCTION_DISABLED
588                   Fabric Zoning is not enabled on the CDC
589
590       NVME_SC_ZONEGRP_ORIGINATOR_INVLD
591                   -- undescribed --
592
593       NVME_SC_BAD_ATTRIBUTES
594                   Conflicting Dataset Management Attributes
595
596       NVME_SC_INVALID_PI
597                   Invalid Protection Information
598
599       NVME_SC_READ_ONLY
600                   Attempted Write to Read Only Range
601
602       NVME_SC_CMD_SIZE_LIMIT_EXCEEDED
603                   Command Size Limit Exceeded
604
605       NVME_SC_CONNECT_FORMAT
606                   Incompatible Format: The NVM subsystem does not support the
607                   record format specified by the host.
608
609       NVME_SC_CONNECT_CTRL_BUSY
610                   Controller  Busy: The controller is already associated with
611                   a host.
612
613       NVME_SC_CONNECT_INVALID_PARAM
614                   Connect Invalid Parameters: One or more of the command  pa‐
615                   rameters.
616
617       NVME_SC_CONNECT_RESTART_DISC
618                   Connect  Restart  Discovery: The NVM subsystem requested is
619                   not available.
620
621       NVME_SC_CONNECT_INVALID_HOST
622                   Connect Invalid Host: The host is either not allowed to es‐
623                   tablish an association to any controller in the NVM subsys‐
624                   tem or the host is not allowed to establish an  association
625                   to the specified controller
626
627       NVME_SC_DISCONNECT_INVALID_QTYPE
628                   Invalid Queue Type: The command was sent on the wrong queue
629                   type.
630
631       NVME_SC_DISCOVERY_RESTART
632                   Discover Restart: The snapshot of the records  is  now  in‐
633                   valid or out of date.
634
635       NVME_SC_AUTH_REQUIRED
636                   Authentication Required: NVMe in-band authentication is re‐
637                   quired and the queue has not yet been authenticated.
638
639       NVME_SC_ZNS_INVALID_OP_REQUEST
640                   Invalid Zone Operation Request: The operation requested  is
641                   invalid.  This may be due to various conditions, including:
642                   attempting to allocate a ZRWA when a zone  is  not  in  the
643                   ZSE:Empty  state; or invalid Flush Explicit ZRWA Range Send
644                   Zone Action operation.
645
646       NVME_SC_ZNS_ZRWA_RESOURCES_UNAVAILABLE
647                   ZRWA Resources Unavailable: No ZRWAs are available.
648
649       NVME_SC_ZNS_BOUNDARY_ERROR
650                   Zone Boundary Error: The command specifies  logical  blocks
651                   in more than one zone.
652
653       NVME_SC_ZNS_FULL
654                   Zone Is Full: The accessed zone is in the ZSF:Full state.
655
656       NVME_SC_ZNS_READ_ONLY
657                   Zone  Is  Read  Only: The accessed zone is in the ZSRO:Read
658                   Only state.
659
660       NVME_SC_ZNS_OFFLINE
661                   Zone Is Offline: The accessed zone is  in  the  ZSO:Offline
662                   state.
663
664       NVME_SC_ZNS_INVALID_WRITE
665                   Zone  Invalid  Write:  The  write  to a zone was not at the
666                   write pointer.
667
668       NVME_SC_ZNS_TOO_MANY_ACTIVE
669                   Too Many Active Zones: The controller does not allow  addi‐
670                   tional active zones.
671
672       NVME_SC_ZNS_TOO_MANY_OPENS
673                   Too  Many  Open  Zones: The controller does not allow addi‐
674                   tional open zones.
675
676       NVME_SC_ZNS_INVAL_TRANSITION
677                   Invalid Zone State Transition: The request is not  a  valid
678                   zone state transition.
679
680       NVME_SC_WRITE_FAULT
681                   Write  Fault:  The write data could not be committed to the
682                   media.
683
684       NVME_SC_READ_ERROR
685                   Unrecovered Read Error: The read data could not  be  recov‐
686                   ered from the media.
687
688       NVME_SC_GUARD_CHECK
689                   End-to-end  Guard  Check Error: The command was aborted due
690                   to an end-to-end guard check failure.
691
692       NVME_SC_APPTAG_CHECK
693                   End-to-end Application Tag Check  Error:  The  command  was
694                   aborted due to an end-to-end application tag check failure.
695
696       NVME_SC_REFTAG_CHECK
697                   End-to-end  Reference  Tag  Check  Error:  The  command was
698                   aborted due to an end-to-end reference tag check failure.
699
700       NVME_SC_COMPARE_FAILED
701                   Compare Failure: The command failed  due  to  a  miscompare
702                   during a Compare command.
703
704       NVME_SC_ACCESS_DENIED
705                   Access  Denied: Access to the namespace and/or LBA range is
706                   denied due to lack of access rights.
707
708       NVME_SC_UNWRITTEN_BLOCK
709                   Deallocated or Unwritten Logical Block: The command  failed
710                   due  to an attempt to read from or verify an LBA range con‐
711                   taining a deallocated or unwritten logical block.
712
713       NVME_SC_STORAGE_TAG_CHECK
714                   End-to-End Storage Tag Check Error: The command was aborted
715                   due to an end-to-end storage tag check failure.
716
717       NVME_SC_ANA_INTERNAL_PATH_ERROR
718                   Internal  Path  Error: The command was not completed as the
719                   result of a controller internal error that is  specific  to
720                   the controller processing the command.
721
722       NVME_SC_ANA_PERSISTENT_LOSS
723                   Asymmetric  Access  Persistent Loss: The requested function
724                   (e.g., command) is not able to be performed as a result  of
725                   the  relationship  between the controller and the namespace
726                   being in the ANA Persistent Loss state.
727
728       NVME_SC_ANA_INACCESSIBLE
729                   Asymmetric  Access  Inaccessible:  The  requested  function
730                   (e.g.,  command) is not able to be performed as a result of
731                   the relationship between the controller and  the  namespace
732                   being in the ANA Inaccessible state.
733
734       NVME_SC_ANA_TRANSITION
735                   Asymmetric Access Transition: The requested function (e.g.,
736                   command) is not able to be performed as a result of the re‐
737                   lationship between the controller and the namespace transi‐
738                   tioning between Asymmetric Namespace Access states.
739
740       NVME_SC_CTRL_PATH_ERROR
741                   Controller Pathing Error: A pathing error was  detected  by
742                   the controller.
743
744       NVME_SC_HOST_PATH_ERROR
745                   Host  Pathing  Error:  A  pathing error was detected by the
746                   host.
747
748       NVME_SC_CMD_ABORTED_BY_HOST
749                   Command Aborted By Host: The command was aborted as  a  re‐
750                   sult of host action.
751
752       NVME_SC_CRD Mask to get value of Command Retry Delay index
753
754       NVME_SC_MORE
755                   More  bit. If set, more status information for this command
756                   as part of the Error Information log that may be  retrieved
757                   with the Get Log Page command.
758
759       NVME_SC_DNR Do Not Retry bit. If set, if the same command is re-submit‐
760                   ted to any controller in the NVM subsystem, then  that  re-
761                   submitted command is expected to fail.
762
763
764
765April 2022                  enum nvme_status_field                  libnvme(9)
Impressum