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_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
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 Shift value to get the value of the Status Code Type
176
177 NVME_SC_MASK
178 Mask to get the value of the status code.
179
180 NVME_SC_SHIFT
181 Shift value to get the value of the status code.
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 The NQN contained in the ZoneGroup Originator field does
592 not match the Host NQN used by the DDC to connect to the
593 CDC.
594
595 NVME_SC_BAD_ATTRIBUTES
596 Conflicting Dataset Management Attributes
597
598 NVME_SC_INVALID_PI
599 Invalid Protection Information
600
601 NVME_SC_READ_ONLY
602 Attempted Write to Read Only Range
603
604 NVME_SC_CMD_SIZE_LIMIT_EXCEEDED
605 Command Size Limit Exceeded
606
607 NVME_SC_CONNECT_FORMAT
608 Incompatible Format: The NVM subsystem does not support the
609 record format specified by the host.
610
611 NVME_SC_CONNECT_CTRL_BUSY
612 Controller Busy: The controller is already associated with
613 a host.
614
615 NVME_SC_CONNECT_INVALID_PARAM
616 Connect Invalid Parameters: One or more of the command pa‐
617 rameters.
618
619 NVME_SC_CONNECT_RESTART_DISC
620 Connect Restart Discovery: The NVM subsystem requested is
621 not available.
622
623 NVME_SC_CONNECT_INVALID_HOST
624 Connect Invalid Host: The host is either not allowed to es‐
625 tablish an association to any controller in the NVM subsys‐
626 tem or the host is not allowed to establish an association
627 to the specified controller
628
629 NVME_SC_DISCONNECT_INVALID_QTYPE
630 Invalid Queue Type: The command was sent on the wrong queue
631 type.
632
633 NVME_SC_DISCOVERY_RESTART
634 Discover Restart: The snapshot of the records is now in‐
635 valid or out of date.
636
637 NVME_SC_AUTH_REQUIRED
638 Authentication Required: NVMe in-band authentication is re‐
639 quired and the queue has not yet been authenticated.
640
641 NVME_SC_ZNS_INVALID_OP_REQUEST
642 Invalid Zone Operation Request: The operation requested is
643 invalid. This may be due to various conditions, including:
644 attempting to allocate a ZRWA when a zone is not in the
645 ZSE:Empty state; or invalid Flush Explicit ZRWA Range Send
646 Zone Action operation.
647
648 NVME_SC_ZNS_ZRWA_RESOURCES_UNAVAILABLE
649 ZRWA Resources Unavailable: No ZRWAs are available.
650
651 NVME_SC_ZNS_BOUNDARY_ERROR
652 Zone Boundary Error: The command specifies logical blocks
653 in more than one zone.
654
655 NVME_SC_ZNS_FULL
656 Zone Is Full: The accessed zone is in the ZSF:Full state.
657
658 NVME_SC_ZNS_READ_ONLY
659 Zone Is Read Only: The accessed zone is in the ZSRO:Read
660 Only state.
661
662 NVME_SC_ZNS_OFFLINE
663 Zone Is Offline: The accessed zone is in the ZSO:Offline
664 state.
665
666 NVME_SC_ZNS_INVALID_WRITE
667 Zone Invalid Write: The write to a zone was not at the
668 write pointer.
669
670 NVME_SC_ZNS_TOO_MANY_ACTIVE
671 Too Many Active Zones: The controller does not allow addi‐
672 tional active zones.
673
674 NVME_SC_ZNS_TOO_MANY_OPENS
675 Too Many Open Zones: The controller does not allow addi‐
676 tional open zones.
677
678 NVME_SC_ZNS_INVAL_TRANSITION
679 Invalid Zone State Transition: The request is not a valid
680 zone state transition.
681
682 NVME_SC_WRITE_FAULT
683 Write Fault: The write data could not be committed to the
684 media.
685
686 NVME_SC_READ_ERROR
687 Unrecovered Read Error: The read data could not be recov‐
688 ered from the media.
689
690 NVME_SC_GUARD_CHECK
691 End-to-end Guard Check Error: The command was aborted due
692 to an end-to-end guard check failure.
693
694 NVME_SC_APPTAG_CHECK
695 End-to-end Application Tag Check Error: The command was
696 aborted due to an end-to-end application tag check failure.
697
698 NVME_SC_REFTAG_CHECK
699 End-to-end Reference Tag Check Error: The command was
700 aborted due to an end-to-end reference tag check failure.
701
702 NVME_SC_COMPARE_FAILED
703 Compare Failure: The command failed due to a miscompare
704 during a Compare command.
705
706 NVME_SC_ACCESS_DENIED
707 Access Denied: Access to the namespace and/or LBA range is
708 denied due to lack of access rights.
709
710 NVME_SC_UNWRITTEN_BLOCK
711 Deallocated or Unwritten Logical Block: The command failed
712 due to an attempt to read from or verify an LBA range con‐
713 taining a deallocated or unwritten logical block.
714
715 NVME_SC_STORAGE_TAG_CHECK
716 End-to-End Storage Tag Check Error: The command was aborted
717 due to an end-to-end storage tag check failure.
718
719 NVME_SC_ANA_INTERNAL_PATH_ERROR
720 Internal Path Error: The command was not completed as the
721 result of a controller internal error that is specific to
722 the controller processing the command.
723
724 NVME_SC_ANA_PERSISTENT_LOSS
725 Asymmetric Access Persistent Loss: The requested function
726 (e.g., command) is not able to be performed as a result of
727 the relationship between the controller and the namespace
728 being in the ANA Persistent Loss state.
729
730 NVME_SC_ANA_INACCESSIBLE
731 Asymmetric Access Inaccessible: The requested function
732 (e.g., command) is not able to be performed as a result of
733 the relationship between the controller and the namespace
734 being in the ANA Inaccessible state.
735
736 NVME_SC_ANA_TRANSITION
737 Asymmetric Access Transition: The requested function (e.g.,
738 command) is not able to be performed as a result of the re‐
739 lationship between the controller and the namespace transi‐
740 tioning between Asymmetric Namespace Access states.
741
742 NVME_SC_CTRL_PATH_ERROR
743 Controller Pathing Error: A pathing error was detected by
744 the controller.
745
746 NVME_SC_HOST_PATH_ERROR
747 Host Pathing Error: A pathing error was detected by the
748 host.
749
750 NVME_SC_CMD_ABORTED_BY_HOST
751 Command Aborted By Host: The command was aborted as a re‐
752 sult of host action.
753
754 NVME_SC_CRD Mask to get value of Command Retry Delay index
755
756 NVME_SC_MORE
757 More bit. If set, more status information for this command
758 as part of the Error Information log that may be retrieved
759 with the Get Log Page command.
760
761 NVME_SC_DNR Do Not Retry bit. If set, if the same command is re-submit‐
762 ted to any controller in the NVM subsystem, then that re-
763 submitted command is expected to fail.
764
765
766
767November 2022 enum nvme_status_field libnvme(9)