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