NVMe specification definitions. More...
Macros | |
#define | SPDK_NVME_GLOBAL_NS_TAG ((uint32_t)0xFFFFFFFF) |
Use to mark a command to apply to all namespaces, or to retrieve global log pages. | |
#define | SPDK_NVME_MAX_IO_QUEUES (65535) |
#define | SPDK_NVME_QUEUE_MIN_ENTRIES (2) |
#define | SPDK_NVME_ADMIN_QUEUE_MIN_ENTRIES SPDK_NVME_QUEUE_MIN_ENTRIES |
#define | SPDK_NVME_ADMIN_QUEUE_MAX_ENTRIES 4096 |
#define | SPDK_NVME_ADMIN_QUEUE_QUIRK_ENTRIES_MULTIPLE 64 |
#define | SPDK_NVME_IO_QUEUE_MIN_ENTRIES SPDK_NVME_QUEUE_MIN_ENTRIES |
#define | SPDK_NVME_IO_QUEUE_MAX_ENTRIES 65536 |
#define | SPDK_NVME_DATASET_MANAGEMENT_MAX_RANGES 256 |
Indicates the maximum number of range sets that may be specified in the dataset management command. | |
#define | SPDK_NVME_DATASET_MANAGEMENT_RANGE_MAX_BLOCKS 0xFFFFFFFFu |
Maximum number of blocks that may be specified in a single dataset management range. | |
#define | SPDK_NVME_MAX_CHANGED_NAMESPACES 1024 |
Maximum number of entries in the log page of Changed Namespace List. | |
#define | SPDK_NVME_DOORBELL_REGISTER_SIZE 4 |
#define | SPDK_NVME_CAP_CSS_NVM (1u << SPDK_NVME_CC_CSS_NVM) |
NVM command set supported. | |
#define | SPDK_NVME_CAP_CSS_IOCS (1u << SPDK_NVME_CC_CSS_IOCS) |
One or more I/O Command sets supported. | |
#define | SPDK_NVME_CAP_CSS_NOIO (1u << SPDK_NVME_CC_CSS_NOIO) |
No I/O, only admin. | |
#define | SPDK_NVME_VERSION(mjr, mnr, ter) |
Generate raw version in the same format as spdk_nvme_vs_register for comparison. | |
#define | SPDK_NVME_NSSR_VALUE 0x4E564D65 |
Value to write to NSSR to indicate a NVM subsystem reset ("NVMe") | |
#define | SPDK_NVME_CREATE_IO_SQ_QPRIO_MASK 0x3 |
#define | SPDK_NVME_ARBITRATION_BURST_UNLIMITED 0x7 |
#define | SPDK_NVME_MAX_OPC 0xff |
#define | SPDK_NVME_CTRLR_SN_LEN 20 |
#define | SPDK_NVME_CTRLR_MN_LEN 40 |
#define | SPDK_NVME_CTRLR_FR_LEN 8 |
#define | SPDK_NVME_CTRLR_MEGCAP_LEN 16 |
#define | SPDK_NVME_MAXDNA_FIELD_SIZE 16 |
#define | SPDK_NVME_NQN_FIELD_SIZE 256 |
#define | SPDK_NVME_REGISTRATION_PREEMPTED_MASK (1U << 1) |
#define | SPDK_NVME_RESERVATION_RELEASED_MASK (1U << 2) |
#define | SPDK_NVME_RESERVATION_PREEMPTED_MASK (1U << 3) |
#define | spdk_nvme_log_page_is_vendor_specific(lid) ((lid) >= SPDK_NVME_LOG_VENDOR_SPECIFIC_START) |
#define | spdk_nvme_cpl_is_error(cpl) |
#define | spdk_nvme_cpl_is_success(cpl) (!spdk_nvme_cpl_is_error(cpl)) |
#define | spdk_nvme_cpl_is_pi_error(cpl) |
#define | spdk_nvme_cpl_is_abort_success(cpl) (spdk_nvme_cpl_is_success(cpl) && !((cpl)->cdw0 & 1U)) |
#define | spdk_nvme_cpl_is_path_error(cpl) ((cpl)->status.sct == SPDK_NVME_SCT_PATH) |
#define | spdk_nvme_cpl_is_ana_error(cpl) |
#define | spdk_nvme_cpl_is_aborted_sq_deletion(cpl) |
#define | spdk_nvme_cpl_is_aborted_by_request(cpl) |
#define | SPDK_NVME_IO_FLAGS_FUSE_FIRST (SPDK_NVME_CMD_FUSE_FIRST << 0) |
Set fused operation. | |
#define | SPDK_NVME_IO_FLAGS_FUSE_SECOND (SPDK_NVME_CMD_FUSE_SECOND << 0) |
#define | SPDK_NVME_IO_FLAGS_FUSE_MASK (SPDK_NVME_CMD_FUSE_MASK << 0) |
#define | SPDK_NVME_IO_FLAGS_DIRECTIVE(dtype) (dtype << 20) |
For enabling directive types on write-oriented commands. | |
#define | SPDK_NVME_IO_FLAGS_STREAMS_DIRECTIVE SPDK_NVME_IO_FLAGS_DIRECTIVE(SPDK_NVME_DIRECTIVE_TYPE_STREAMS) |
#define | SPDK_NVME_IO_FLAGS_DATA_PLACEMENT_DIRECTIVE SPDK_NVME_IO_FLAGS_DIRECTIVE(SPDK_NVME_DIRECTIVE_TYPE_DATA_PLACEMENT) |
#define | SPDK_NVME_IO_FLAGS_ZONE_APPEND_PIREMAP (1U << 25) |
Zone append specific, determines the contents of the reference tag written to the media. | |
#define | SPDK_NVME_IO_FLAGS_PRCHK_REFTAG (1U << 26) |
Enable protection information checking of the Logical Block Reference Tag field. | |
#define | SPDK_NVME_IO_FLAGS_PRCHK_APPTAG (1U << 27) |
Enable protection information checking of the Application Tag field. | |
#define | SPDK_NVME_IO_FLAGS_PRCHK_GUARD (1U << 28) |
Enable protection information checking of the Guard field. | |
#define | SPDK_NVME_IO_FLAGS_PRACT (1U << 29) |
The protection information is stripped or inserted when set this bit. | |
#define | SPDK_NVME_IO_FLAGS_FORCE_UNIT_ACCESS (1U << 30) |
#define | SPDK_NVME_IO_FLAGS_LIMITED_RETRY (1U << 31) |
#define | SPDK_NVME_IO_FLAGS_VALID_MASK 0xFFFF0003 |
Mask of valid io flags mask. | |
#define | SPDK_NVME_IO_FLAGS_CDW12_MASK 0xFFFF0000 |
#define | SPDK_NVME_IO_FLAGS_PRCHK_MASK 0x1C000000 |
#define | SPDK_NVME_IDENTIFY_BUFLEN 4096 |
Identify command buffer response size. | |
Enumerations | |
enum | spdk_nvme_cc_css { SPDK_NVME_CC_CSS_NVM = 0x0 , SPDK_NVME_CC_CSS_IOCS = 0x6 , SPDK_NVME_CC_CSS_NOIO = 0x7 } |
I/O Command Set Selected. More... | |
enum | spdk_nvme_shn_value { SPDK_NVME_SHN_NORMAL = 0x1 , SPDK_NVME_SHN_ABRUPT = 0x2 } |
enum | spdk_nvme_shst_value { SPDK_NVME_SHST_NORMAL = 0x0 , SPDK_NVME_SHST_OCCURRING = 0x1 , SPDK_NVME_SHST_COMPLETE = 0x2 } |
enum | spdk_nvme_brs_value { SPDK_NVME_BRS_NO_READ = 0x0 , SPDK_NVME_BRS_READ_IN_PROGRESS = 0x1 , SPDK_NVME_BRS_READ_SUCCESS = 0x2 , SPDK_NVME_BRS_READ_ERROR = 0x3 } |
Boot read status values. | |
enum | spdk_nvme_sgl_descriptor_type { SPDK_NVME_SGL_TYPE_DATA_BLOCK = 0x0 , SPDK_NVME_SGL_TYPE_BIT_BUCKET = 0x1 , SPDK_NVME_SGL_TYPE_SEGMENT = 0x2 , SPDK_NVME_SGL_TYPE_LAST_SEGMENT = 0x3 , SPDK_NVME_SGL_TYPE_KEYED_DATA_BLOCK = 0x4 , SPDK_NVME_SGL_TYPE_TRANSPORT_DATA_BLOCK = 0x5 , SPDK_NVME_SGL_TYPE_VENDOR_SPECIFIC = 0xF } |
enum | spdk_nvme_sgl_descriptor_subtype { SPDK_NVME_SGL_SUBTYPE_ADDRESS = 0x0 , SPDK_NVME_SGL_SUBTYPE_OFFSET = 0x1 , SPDK_NVME_SGL_SUBTYPE_TRANSPORT = 0xa } |
enum | spdk_nvme_psdt_value { SPDK_NVME_PSDT_PRP = 0x0 , SPDK_NVME_PSDT_SGL_MPTR_CONTIG = 0x1 , SPDK_NVME_PSDT_SGL_MPTR_SGL = 0x2 , SPDK_NVME_PSDT_RESERVED = 0x3 } |
enum | spdk_nvme_qprio { SPDK_NVME_QPRIO_URGENT = 0x0 , SPDK_NVME_QPRIO_HIGH = 0x1 , SPDK_NVME_QPRIO_MEDIUM = 0x2 , SPDK_NVME_QPRIO_LOW = 0x3 } |
Submission queue priority values for Create I/O Submission Queue Command. More... | |
enum | spdk_nvme_cap_ams { SPDK_NVME_CAP_AMS_WRR = 0x1 , SPDK_NVME_CAP_AMS_VS = 0x2 } |
Optional Arbitration Mechanism Supported by the controller. More... | |
enum | spdk_nvme_cc_ams { SPDK_NVME_CC_AMS_RR = 0x0 , SPDK_NVME_CC_AMS_WRR = 0x1 , SPDK_NVME_CC_AMS_VS = 0x7 } |
Arbitration Mechanism Selected to the controller. More... | |
enum | spdk_nvme_cmd_fuse { SPDK_NVME_CMD_FUSE_NONE = 0x0 , SPDK_NVME_CMD_FUSE_FIRST = 0x1 , SPDK_NVME_CMD_FUSE_SECOND = 0x2 , SPDK_NVME_CMD_FUSE_MASK = 0x3 } |
Fused Operation. More... | |
enum | spdk_nvme_status_code_type { SPDK_NVME_SCT_GENERIC = 0x0 , SPDK_NVME_SCT_COMMAND_SPECIFIC = 0x1 , SPDK_NVME_SCT_MEDIA_ERROR = 0x2 , SPDK_NVME_SCT_PATH = 0x3 , SPDK_NVME_SCT_VENDOR_SPECIFIC = 0x7 } |
Status code types. | |
enum | spdk_nvme_generic_command_status_code { SPDK_NVME_SC_SUCCESS = 0x00 , SPDK_NVME_SC_INVALID_OPCODE = 0x01 , SPDK_NVME_SC_INVALID_FIELD = 0x02 , SPDK_NVME_SC_COMMAND_ID_CONFLICT = 0x03 , SPDK_NVME_SC_DATA_TRANSFER_ERROR = 0x04 , SPDK_NVME_SC_ABORTED_POWER_LOSS = 0x05 , SPDK_NVME_SC_INTERNAL_DEVICE_ERROR = 0x06 , SPDK_NVME_SC_ABORTED_BY_REQUEST = 0x07 , SPDK_NVME_SC_ABORTED_SQ_DELETION = 0x08 , SPDK_NVME_SC_ABORTED_FAILED_FUSED = 0x09 , SPDK_NVME_SC_ABORTED_MISSING_FUSED = 0x0a , SPDK_NVME_SC_INVALID_NAMESPACE_OR_FORMAT = 0x0b , SPDK_NVME_SC_COMMAND_SEQUENCE_ERROR = 0x0c , SPDK_NVME_SC_INVALID_SGL_SEG_DESCRIPTOR = 0x0d , SPDK_NVME_SC_INVALID_NUM_SGL_DESCIRPTORS = 0x0e , SPDK_NVME_SC_DATA_SGL_LENGTH_INVALID = 0x0f , SPDK_NVME_SC_METADATA_SGL_LENGTH_INVALID = 0x10 , SPDK_NVME_SC_SGL_DESCRIPTOR_TYPE_INVALID = 0x11 , SPDK_NVME_SC_INVALID_CONTROLLER_MEM_BUF = 0x12 , SPDK_NVME_SC_INVALID_PRP_OFFSET = 0x13 , SPDK_NVME_SC_ATOMIC_WRITE_UNIT_EXCEEDED = 0x14 , SPDK_NVME_SC_OPERATION_DENIED = 0x15 , SPDK_NVME_SC_INVALID_SGL_OFFSET = 0x16 , SPDK_NVME_SC_HOSTID_INCONSISTENT_FORMAT = 0x18 , SPDK_NVME_SC_KEEP_ALIVE_EXPIRED = 0x19 , SPDK_NVME_SC_KEEP_ALIVE_INVALID = 0x1a , SPDK_NVME_SC_ABORTED_PREEMPT = 0x1b , SPDK_NVME_SC_SANITIZE_FAILED = 0x1c , SPDK_NVME_SC_SANITIZE_IN_PROGRESS = 0x1d , SPDK_NVME_SC_SGL_DATA_BLOCK_GRANULARITY_INVALID = 0x1e , SPDK_NVME_SC_COMMAND_INVALID_IN_CMB = 0x1f , SPDK_NVME_SC_COMMAND_NAMESPACE_IS_PROTECTED = 0x20 , SPDK_NVME_SC_COMMAND_INTERRUPTED = 0x21 , SPDK_NVME_SC_COMMAND_TRANSIENT_TRANSPORT_ERROR = 0x22 , SPDK_NVME_SC_COMMAND_PROHIBITED_BY_LOCKDOWN = 0x23 , SPDK_NVME_SC_ADMIN_COMMAND_MEDIA_NOT_READY = 0x24 , SPDK_NVME_SC_FDP_DISABLED = 0x29 , SPDK_NVME_SC_INVALID_PLACEMENT_HANDLE_LIST = 0x2A , SPDK_NVME_SC_LBA_OUT_OF_RANGE = 0x80 , SPDK_NVME_SC_CAPACITY_EXCEEDED = 0x81 , SPDK_NVME_SC_NAMESPACE_NOT_READY = 0x82 , SPDK_NVME_SC_RESERVATION_CONFLICT = 0x83 , SPDK_NVME_SC_FORMAT_IN_PROGRESS = 0x84 , SPDK_NVME_SC_INVALID_VALUE_SIZE = 0x85 , SPDK_NVME_SC_INVALID_KEY_SIZE = 0x86 , SPDK_NVME_SC_KV_KEY_DOES_NOT_EXIST = 0x87 , SPDK_NVME_SC_UNRECOVERED_ERROR = 0x88 , SPDK_NVME_SC_KEY_EXISTS = 0x89 } |
Generic command status codes. | |
enum | spdk_nvme_command_specific_status_code { SPDK_NVME_SC_COMPLETION_QUEUE_INVALID = 0x00 , SPDK_NVME_SC_INVALID_QUEUE_IDENTIFIER = 0x01 , SPDK_NVME_SC_INVALID_QUEUE_SIZE = 0x02 , SPDK_NVME_SC_ABORT_COMMAND_LIMIT_EXCEEDED = 0x03 , SPDK_NVME_SC_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED = 0x05 , SPDK_NVME_SC_INVALID_FIRMWARE_SLOT = 0x06 , SPDK_NVME_SC_INVALID_FIRMWARE_IMAGE = 0x07 , SPDK_NVME_SC_INVALID_INTERRUPT_VECTOR = 0x08 , SPDK_NVME_SC_INVALID_LOG_PAGE = 0x09 , SPDK_NVME_SC_INVALID_FORMAT = 0x0a , SPDK_NVME_SC_FIRMWARE_REQ_CONVENTIONAL_RESET = 0x0b , SPDK_NVME_SC_INVALID_QUEUE_DELETION = 0x0c , SPDK_NVME_SC_FEATURE_ID_NOT_SAVEABLE = 0x0d , SPDK_NVME_SC_FEATURE_NOT_CHANGEABLE = 0x0e , SPDK_NVME_SC_FEATURE_NOT_NAMESPACE_SPECIFIC = 0x0f , SPDK_NVME_SC_FIRMWARE_REQ_NVM_RESET = 0x10 , SPDK_NVME_SC_FIRMWARE_REQ_RESET = 0x11 , SPDK_NVME_SC_FIRMWARE_REQ_MAX_TIME_VIOLATION = 0x12 , SPDK_NVME_SC_FIRMWARE_ACTIVATION_PROHIBITED = 0x13 , SPDK_NVME_SC_OVERLAPPING_RANGE = 0x14 , SPDK_NVME_SC_NAMESPACE_INSUFFICIENT_CAPACITY = 0x15 , SPDK_NVME_SC_NAMESPACE_ID_UNAVAILABLE = 0x16 , SPDK_NVME_SC_NAMESPACE_ALREADY_ATTACHED = 0x18 , SPDK_NVME_SC_NAMESPACE_IS_PRIVATE = 0x19 , SPDK_NVME_SC_NAMESPACE_NOT_ATTACHED = 0x1a , SPDK_NVME_SC_THINPROVISIONING_NOT_SUPPORTED = 0x1b , SPDK_NVME_SC_CONTROLLER_LIST_INVALID = 0x1c , SPDK_NVME_SC_DEVICE_SELF_TEST_IN_PROGRESS = 0x1d , SPDK_NVME_SC_BOOT_PARTITION_WRITE_PROHIBITED = 0x1e , SPDK_NVME_SC_INVALID_CTRLR_ID = 0x1f , SPDK_NVME_SC_INVALID_SECONDARY_CTRLR_STATE = 0x20 , SPDK_NVME_SC_INVALID_NUM_CTRLR_RESOURCES = 0x21 , SPDK_NVME_SC_INVALID_RESOURCE_ID = 0x22 , SPDK_NVME_SC_SANITIZE_PROHIBITED = 0x23 , SPDK_NVME_SC_ANA_GROUP_IDENTIFIER_INVALID = 0x24 , SPDK_NVME_SC_ANA_ATTACH_FAILED = 0x25 , SPDK_NVME_SC_INSUFFICIENT_CAPACITY = 0x26 , SPDK_NVME_SC_NAMESPACE_ATTACH_LIMIT_EXCEEDED = 0x27 , SPDK_NVME_SC_PROHIBIT_CMD_EXEC_NOT_SUPPORTED = 0x28 , SPDK_NVME_SC_IOCS_NOT_SUPPORTED = 0x29 , SPDK_NVME_SC_IOCS_NOT_ENABLED = 0x2a , SPDK_NVME_SC_IOCS_COMBINATION_REJECTED = 0x2b , SPDK_NVME_SC_INVALID_IOCS = 0x2c , SPDK_NVME_SC_IDENTIFIER_UNAVAILABLE = 0x2d , SPDK_NVME_SC_STREAM_RESOURCE_ALLOCATION_FAILED = 0x7f , SPDK_NVME_SC_CONFLICTING_ATTRIBUTES = 0x80 , SPDK_NVME_SC_INVALID_PROTECTION_INFO = 0x81 , SPDK_NVME_SC_ATTEMPTED_WRITE_TO_RO_RANGE = 0x82 , SPDK_NVME_SC_CMD_SIZE_LIMIT_SIZE_EXCEEDED = 0x83 , SPDK_NVME_SC_ZONED_BOUNDARY_ERROR = 0xb8 , SPDK_NVME_SC_ZONE_IS_FULL = 0xb9 , SPDK_NVME_SC_ZONE_IS_READ_ONLY = 0xba , SPDK_NVME_SC_ZONE_IS_OFFLINE = 0xbb , SPDK_NVME_SC_ZONE_INVALID_WRITE = 0xbc , SPDK_NVME_SC_TOO_MANY_ACTIVE_ZONES = 0xbd , SPDK_NVME_SC_TOO_MANY_OPEN_ZONES = 0xbe , SPDK_NVME_SC_INVALID_ZONE_STATE_TRANSITION = 0xbf } |
Command specific status codes. | |
enum | spdk_nvme_media_error_status_code { SPDK_NVME_SC_WRITE_FAULTS = 0x80 , SPDK_NVME_SC_UNRECOVERED_READ_ERROR = 0x81 , SPDK_NVME_SC_GUARD_CHECK_ERROR = 0x82 , SPDK_NVME_SC_APPLICATION_TAG_CHECK_ERROR = 0x83 , SPDK_NVME_SC_REFERENCE_TAG_CHECK_ERROR = 0x84 , SPDK_NVME_SC_COMPARE_FAILURE = 0x85 , SPDK_NVME_SC_ACCESS_DENIED = 0x86 , SPDK_NVME_SC_DEALLOCATED_OR_UNWRITTEN_BLOCK = 0x87 , SPDK_NVME_SC_END_TO_END_STORAGE_TAG_CHECK_ERROR = 0x88 } |
Media error status codes. | |
enum | spdk_nvme_path_status_code { SPDK_NVME_SC_INTERNAL_PATH_ERROR = 0x00 , SPDK_NVME_SC_ASYMMETRIC_ACCESS_PERSISTENT_LOSS = 0x01 , SPDK_NVME_SC_ASYMMETRIC_ACCESS_INACCESSIBLE = 0x02 , SPDK_NVME_SC_ASYMMETRIC_ACCESS_TRANSITION = 0x03 , SPDK_NVME_SC_CONTROLLER_PATH_ERROR = 0x60 , SPDK_NVME_SC_HOST_PATH_ERROR = 0x70 , SPDK_NVME_SC_ABORTED_BY_HOST = 0x71 } |
Path related status codes. | |
enum | spdk_nvme_admin_opcode { SPDK_NVME_OPC_DELETE_IO_SQ = 0x00 , SPDK_NVME_OPC_CREATE_IO_SQ = 0x01 , SPDK_NVME_OPC_GET_LOG_PAGE = 0x02 , SPDK_NVME_OPC_DELETE_IO_CQ = 0x04 , SPDK_NVME_OPC_CREATE_IO_CQ = 0x05 , SPDK_NVME_OPC_IDENTIFY = 0x06 , SPDK_NVME_OPC_ABORT = 0x08 , SPDK_NVME_OPC_SET_FEATURES = 0x09 , SPDK_NVME_OPC_GET_FEATURES = 0x0a , SPDK_NVME_OPC_ASYNC_EVENT_REQUEST = 0x0c , SPDK_NVME_OPC_NS_MANAGEMENT = 0x0d , SPDK_NVME_OPC_FIRMWARE_COMMIT = 0x10 , SPDK_NVME_OPC_FIRMWARE_IMAGE_DOWNLOAD = 0x11 , SPDK_NVME_OPC_DEVICE_SELF_TEST = 0x14 , SPDK_NVME_OPC_NS_ATTACHMENT = 0x15 , SPDK_NVME_OPC_KEEP_ALIVE = 0x18 , SPDK_NVME_OPC_DIRECTIVE_SEND = 0x19 , SPDK_NVME_OPC_DIRECTIVE_RECEIVE = 0x1a , SPDK_NVME_OPC_VIRTUALIZATION_MANAGEMENT = 0x1c , SPDK_NVME_OPC_NVME_MI_SEND = 0x1d , SPDK_NVME_OPC_NVME_MI_RECEIVE = 0x1e , SPDK_NVME_OPC_DOORBELL_BUFFER_CONFIG = 0x7c , SPDK_NVME_OPC_FORMAT_NVM = 0x80 , SPDK_NVME_OPC_SECURITY_SEND = 0x81 , SPDK_NVME_OPC_SECURITY_RECEIVE = 0x82 , SPDK_NVME_OPC_SANITIZE = 0x84 , SPDK_NVME_OPC_GET_LBA_STATUS = 0x86 } |
Admin opcodes. | |
enum | spdk_nvme_nvm_opcode { SPDK_NVME_OPC_FLUSH = 0x00 , SPDK_NVME_OPC_WRITE = 0x01 , SPDK_NVME_OPC_READ = 0x02 , SPDK_NVME_OPC_WRITE_UNCORRECTABLE = 0x04 , SPDK_NVME_OPC_COMPARE = 0x05 , SPDK_NVME_OPC_WRITE_ZEROES = 0x08 , SPDK_NVME_OPC_DATASET_MANAGEMENT = 0x09 , SPDK_NVME_OPC_VERIFY = 0x0c , SPDK_NVME_OPC_RESERVATION_REGISTER = 0x0d , SPDK_NVME_OPC_RESERVATION_REPORT = 0x0e , SPDK_NVME_OPC_RESERVATION_ACQUIRE = 0x11 , SPDK_NVME_OPC_IO_MANAGEMENT_RECEIVE = 0x12 , SPDK_NVME_OPC_RESERVATION_RELEASE = 0x15 , SPDK_NVME_OPC_COPY = 0x19 , SPDK_NVME_OPC_IO_MANAGEMENT_SEND = 0x1D } |
NVM command set opcodes. | |
enum | spdk_nvme_zns_opcode { SPDK_NVME_OPC_ZONE_MGMT_SEND = 0x79 , SPDK_NVME_OPC_ZONE_MGMT_RECV = 0x7a , SPDK_NVME_OPC_ZONE_APPEND = 0x7d } |
Zoned Namespace command set opcodes. More... | |
enum | spdk_nvme_data_transfer { SPDK_NVME_DATA_NONE = 0 , SPDK_NVME_DATA_HOST_TO_CONTROLLER = 1 , SPDK_NVME_DATA_CONTROLLER_TO_HOST = 2 , SPDK_NVME_DATA_BIDIRECTIONAL = 3 } |
Data transfer (bits 1:0) of an NVMe opcode. More... | |
enum | spdk_nvme_fdp_mgmt_recv_mo { SPDK_NVME_FDP_IO_MGMT_RECV_NA = 0x00 , SPDK_NVME_FDP_IO_MGMT_RECV_RUHS = 0x01 , SPDK_NVME_FDP_IO_MGMT_RECV_VS = 0xFF } |
Management operation to perform for IO management receive. | |
enum | spdk_nvme_fdp_mgmt_send_mo { SPDK_NVME_FDP_IO_MGMT_SEND_NA = 0x00 , SPDK_NVME_FDP_IO_MGMT_SEND_RUHU = 0x01 , SPDK_NVME_FDP_IO_MGMT_SEND_VS = 0xFF } |
Management operation to perform for IO management send. | |
enum | spdk_nvme_feat { SPDK_NVME_FEAT_ARBITRATION = 0x01 , SPDK_NVME_FEAT_POWER_MANAGEMENT = 0x02 , SPDK_NVME_FEAT_LBA_RANGE_TYPE = 0x03 , SPDK_NVME_FEAT_TEMPERATURE_THRESHOLD = 0x04 , SPDK_NVME_FEAT_ERROR_RECOVERY = 0x05 , SPDK_NVME_FEAT_VOLATILE_WRITE_CACHE = 0x06 , SPDK_NVME_FEAT_NUMBER_OF_QUEUES = 0x07 , SPDK_NVME_FEAT_INTERRUPT_COALESCING = 0x08 , SPDK_NVME_FEAT_INTERRUPT_VECTOR_CONFIGURATION = 0x09 , SPDK_NVME_FEAT_WRITE_ATOMICITY = 0x0A , SPDK_NVME_FEAT_ASYNC_EVENT_CONFIGURATION = 0x0B , SPDK_NVME_FEAT_AUTONOMOUS_POWER_STATE_TRANSITION = 0x0C , SPDK_NVME_FEAT_HOST_MEM_BUFFER = 0x0D , SPDK_NVME_FEAT_TIMESTAMP = 0x0E , SPDK_NVME_FEAT_KEEP_ALIVE_TIMER = 0x0F , SPDK_NVME_FEAT_HOST_CONTROLLED_THERMAL_MANAGEMENT = 0x10 , SPDK_NVME_FEAT_NON_OPERATIONAL_POWER_STATE_CONFIG = 0x11 , SPDK_NVME_FEAT_READ_RECOVERY_LEVEL_CONFIG = 0x12 , SPDK_NVME_FEAT_PREDICTABLE_LATENCY_MODE_CONFIG = 0x13 , SPDK_NVME_FEAT_PREDICTABLE_LATENCY_MODE_WINDOW = 0x14 , SPDK_NVME_FEAT_LBA_STATUS_INFORMATION_ATTRIBUTES = 0x15 , SPDK_NVME_FEAT_HOST_BEHAVIOR_SUPPORT = 0x16 , SPDK_NVME_FEAT_SANITIZE_CONFIG = 0x17 , SPDK_NVME_FEAT_ENDURANCE_GROUP_EVENT = 0x18 , SPDK_NVME_FEAT_IO_COMMAND_SET_PROFILE = 0x19 , SPDK_NVME_FEAT_SPINUP_CONTROL = 0x1A , SPDK_NVME_FEAT_FDP = 0x1D , SPDK_NVME_FEAT_FDP_EVENTS = 0x1E , SPDK_NVME_FEAT_ENHANCED_CONTROLLER_METADATA = 0x7D , SPDK_NVME_FEAT_CONTROLLER_METADATA = 0x7E , SPDK_NVME_FEAT_NAMESPACE_METADATA = 0x7F , SPDK_NVME_FEAT_SOFTWARE_PROGRESS_MARKER = 0x80 , SPDK_NVME_FEAT_HOST_IDENTIFIER = 0x81 , SPDK_NVME_FEAT_HOST_RESERVE_MASK = 0x82 , SPDK_NVME_FEAT_HOST_RESERVE_PERSIST = 0x83 , SPDK_NVME_FEAT_NAMESPACE_WRITE_PROTECTION_CONFIG = 0x84 } |
enum | spdk_nvme_dsm_attribute { SPDK_NVME_DSM_ATTR_INTEGRAL_READ = 0x1 , SPDK_NVME_DSM_ATTR_INTEGRAL_WRITE = 0x2 , SPDK_NVME_DSM_ATTR_DEALLOCATE = 0x4 } |
Bit set of attributes for DATASET MANAGEMENT commands. | |
enum | spdk_nvme_identify_cns { SPDK_NVME_IDENTIFY_NS = 0x00 , SPDK_NVME_IDENTIFY_CTRLR = 0x01 , SPDK_NVME_IDENTIFY_ACTIVE_NS_LIST = 0x02 , SPDK_NVME_IDENTIFY_NS_ID_DESCRIPTOR_LIST = 0x03 , SPDK_NVME_IDENTIFY_NS_IOCS = 0x05 , SPDK_NVME_IDENTIFY_CTRLR_IOCS = 0x06 , SPDK_NVME_IDENTIFY_ACTIVE_NS_LIST_IOCS = 0x07 , SPDK_NVME_IDENTIFY_ALLOCATED_NS_LIST = 0x10 , SPDK_NVME_IDENTIFY_NS_ALLOCATED = 0x11 , SPDK_NVME_IDENTIFY_NS_ATTACHED_CTRLR_LIST = 0x12 , SPDK_NVME_IDENTIFY_CTRLR_LIST = 0x13 , SPDK_NVME_IDENTIFY_PRIMARY_CTRLR_CAP = 0x14 , SPDK_NVME_IDENTIFY_SECONDARY_CTRLR_LIST = 0x15 , SPDK_NVME_IDENTIFY_ALLOCATED_NS_LIST_IOCS = 0x1a , SPDK_NVME_IDENTIFY_NS_ALLOCATED_IOCS = 0x1b , SPDK_NVME_IDENTIFY_IOCS = 0x1c } |
Identify command CNS value. More... | |
enum | spdk_nvmf_ctrlr_model { SPDK_NVMF_CTRLR_MODEL_DYNAMIC = 0 , SPDK_NVMF_CTRLR_MODEL_STATIC = 1 } |
NVMe over Fabrics controller model. More... | |
enum | spdk_nvme_sgls_supported { SPDK_NVME_SGLS_NOT_SUPPORTED = 0 , SPDK_NVME_SGLS_SUPPORTED = 1 , SPDK_NVME_SGLS_SUPPORTED_DWORD_ALIGNED = 2 } |
Identify Controller data sgls.supported values. More... | |
enum | spdk_nvme_flush_broadcast { SPDK_NVME_FLUSH_BROADCAST_NOT_INDICATED = 0 , SPDK_NVME_FLUSH_BROADCAST_NOT_SUPPORTED = 2 , SPDK_NVME_FLUSH_BROADCAST_SUPPORTED = 3 } |
Identify Controller data vwc.flush_broadcast values. More... | |
enum | spdk_nvme_pi_format { SPDK_NVME_16B_GUARD_PI = 0 , SPDK_NVME_32B_GUARD_PI = 1 , SPDK_NVME_64B_GUARD_PI = 2 } |
enum | spdk_nvme_dealloc_logical_block_read_value { SPDK_NVME_DEALLOC_NOT_REPORTED = 0 , SPDK_NVME_DEALLOC_READ_00 = 1 , SPDK_NVME_DEALLOC_READ_FF = 2 } |
Deallocated logical block features - read value. More... | |
enum | spdk_nvme_reservation_type { SPDK_NVME_RESERVE_WRITE_EXCLUSIVE = 0x1 , SPDK_NVME_RESERVE_EXCLUSIVE_ACCESS = 0x2 , SPDK_NVME_RESERVE_WRITE_EXCLUSIVE_REG_ONLY = 0x3 , SPDK_NVME_RESERVE_EXCLUSIVE_ACCESS_REG_ONLY = 0x4 , SPDK_NVME_RESERVE_WRITE_EXCLUSIVE_ALL_REGS = 0x5 , SPDK_NVME_RESERVE_EXCLUSIVE_ACCESS_ALL_REGS = 0x6 } |
Reservation Type Encoding. | |
enum | spdk_nvme_reservation_acquire_action { SPDK_NVME_RESERVE_ACQUIRE = 0x0 , SPDK_NVME_RESERVE_PREEMPT = 0x1 , SPDK_NVME_RESERVE_PREEMPT_ABORT = 0x2 } |
Reservation Acquire action. | |
enum | spdk_nvme_reservation_register_cptpl { SPDK_NVME_RESERVE_PTPL_NO_CHANGES = 0x0 , SPDK_NVME_RESERVE_PTPL_CLEAR_POWER_ON = 0x2 , SPDK_NVME_RESERVE_PTPL_PERSIST_POWER_LOSS = 0x3 } |
Change persist through power loss state for Reservation Register command. | |
enum | spdk_nvme_reservation_register_action { SPDK_NVME_RESERVE_REGISTER_KEY = 0x0 , SPDK_NVME_RESERVE_UNREGISTER_KEY = 0x1 , SPDK_NVME_RESERVE_REPLACE_KEY = 0x2 } |
Registration action for Reservation Register command. | |
enum | spdk_nvme_reservation_release_action { SPDK_NVME_RESERVE_RELEASE = 0x0 , SPDK_NVME_RESERVE_CLEAR = 0x1 } |
Reservation Release action. | |
enum | spdk_nvme_reservation_notification_log_page_type { SPDK_NVME_RESERVATION_LOG_PAGE_EMPTY = 0x0 , SPDK_NVME_REGISTRATION_PREEMPTED = 0x1 , SPDK_NVME_RESERVATION_RELEASED = 0x2 , SPDK_NVME_RESERVATION_PREEMPTED = 0x3 } |
Reservation notification log page type. | |
enum | spdk_nvme_log_page { SPDK_NVME_LOG_SUPPORTED_LOG_PAGES = 0x00 , SPDK_NVME_LOG_ERROR = 0x01 , SPDK_NVME_LOG_HEALTH_INFORMATION = 0x02 , SPDK_NVME_LOG_FIRMWARE_SLOT = 0x03 , SPDK_NVME_LOG_CHANGED_NS_LIST = 0x04 , SPDK_NVME_LOG_COMMAND_EFFECTS_LOG = 0x05 , SPDK_NVME_LOG_DEVICE_SELF_TEST = 0x06 , SPDK_NVME_LOG_TELEMETRY_HOST_INITIATED = 0x07 , SPDK_NVME_LOG_TELEMETRY_CTRLR_INITIATED = 0x08 , SPDK_NVME_LOG_ENDURANCE_GROUP_INFORMATION = 0x09 , SPDK_NVME_LOG_PREDICATBLE_LATENCY = 0x0A , SPDK_NVME_LOG_PREDICTABLE_LATENCY_EVENT = 0x0B , SPDK_NVME_LOG_ASYMMETRIC_NAMESPACE_ACCESS = 0x0C , SPDK_NVME_LOG_PERSISTENT_EVENT_LOG = 0x0D , SPDK_NVME_LOG_ENDURANCE_GROUP_EVENT = 0x0F , SPDK_NVME_LOG_MEDIA_UNIT_STATUS = 0x10 , SPDK_NVME_LOG_CAPACITY_CONFIGURATION_LIST = 0x11 , SPDK_NVME_LOG_FEATURE_IDS_EFFECTS = 0x12 , SPDK_NVME_LOG_NVME_MI_COMMANDS_EFFECTS = 0x13 , SPDK_NVME_LOG_COMMAND_FEATURE_LOCKDOWN = 0x14 , SPDK_NVME_LOG_BOOT_PARTITION = 0x15 , SPDK_NVME_LOG_ROTATIONAL_MEDIA_INFORMATION = 0x16 , SPDK_NVME_LOG_FDP_CONFIGURATIONS = 0x20 , SPDK_NVME_LOG_RECLAIM_UNIT_HANDLE_USAGE = 0x21 , SPDK_NVME_LOG_FDP_STATISTICS = 0x22 , SPDK_NVME_LOG_FDP_EVENTS = 0x23 , SPDK_NVME_LOG_DISCOVERY = 0x70 , SPDK_NVME_LOG_RESERVATION_NOTIFICATION = 0x80 , SPDK_NVME_LOG_SANITIZE_STATUS = 0x81 , SPDK_NVME_LOG_CHANGED_ZONE_LIST = 0xBF , SPDK_NVME_LOG_VENDOR_SPECIFIC_START = 0xc0 , SPDK_NVME_LOG_VENDOR_SPECIFIC_END = 0xff } |
Log page identifiers for SPDK_NVME_OPC_GET_LOG_PAGE. More... | |
enum | spdk_nvme_sanitize_status_type { SPDK_NVME_NEVER_BEEN_SANITIZED = 0x0 , SPDK_NVME_RECENT_SANITIZE_SUCCESSFUL = 0x1 , SPDK_NVME_SANITIZE_IN_PROGRESS = 0x2 , SPDK_NVME_SANITIZE_FAILED = 0x3 } |
Sanitize Status Type. | |
enum | spdk_nvme_async_event_type { SPDK_NVME_ASYNC_EVENT_TYPE_ERROR = 0x0 , SPDK_NVME_ASYNC_EVENT_TYPE_SMART = 0x1 , SPDK_NVME_ASYNC_EVENT_TYPE_NOTICE = 0x2 , SPDK_NVME_ASYNC_EVENT_TYPE_IO = 0x6 , SPDK_NVME_ASYNC_EVENT_TYPE_VENDOR = 0x7 } |
Asynchronous Event Type. | |
enum | spdk_nvme_async_event_info_error { SPDK_NVME_ASYNC_EVENT_WRITE_INVALID_DB = 0x0 , SPDK_NVME_ASYNC_EVENT_INVALID_DB_WRITE = 0x1 , SPDK_NVME_ASYNC_EVENT_DIAGNOSTIC_FAILURE = 0x2 , SPDK_NVME_ASYNC_EVENT_PERSISTENT_INTERNAL = 0x3 , SPDK_NVME_ASYNC_EVENT_TRANSIENT_INTERNAL = 0x4 , SPDK_NVME_ASYNC_EVENT_FW_IMAGE_LOAD = 0x5 } |
Asynchronous Event Information for Error Status. | |
enum | spdk_nvme_async_event_info_smart { SPDK_NVME_ASYNC_EVENT_SUBSYSTEM_RELIABILITY = 0x0 , SPDK_NVME_ASYNC_EVENT_TEMPERATURE_THRESHOLD = 0x1 , SPDK_NVME_ASYNC_EVENT_SPARE_BELOW_THRESHOLD = 0x2 } |
Asynchronous Event Information for SMART/Health Status. | |
enum | spdk_nvme_async_event_info_notice { SPDK_NVME_ASYNC_EVENT_NS_ATTR_CHANGED = 0x0 , SPDK_NVME_ASYNC_EVENT_FW_ACTIVATION_START = 0x1 , SPDK_NVME_ASYNC_EVENT_TELEMETRY_LOG_CHANGED = 0x2 , SPDK_NVME_ASYNC_EVENT_ANA_CHANGE = 0x3 , SPDK_NVME_ASYNC_EVENT_DISCOVERY_LOG_CHANGE = 0xF0 } |
Asynchronous Event Information for Notice. More... | |
enum | spdk_nvme_async_event_info_nvm_command_set { SPDK_NVME_ASYNC_EVENT_RESERVATION_LOG_AVAIL = 0x0 , SPDK_NVME_ASYNC_EVENT_SANITIZE_COMPLETED = 0x1 } |
Asynchronous Event Information for NVM Command Set Specific Status. | |
enum | spdk_nvme_ana_state { SPDK_NVME_ANA_OPTIMIZED_STATE = 0x1 , SPDK_NVME_ANA_NON_OPTIMIZED_STATE = 0x2 , SPDK_NVME_ANA_INACCESSIBLE_STATE = 0x3 , SPDK_NVME_ANA_PERSISTENT_LOSS_STATE = 0x4 , SPDK_NVME_ANA_CHANGE_STATE = 0xF } |
enum | spdk_nvme_fdp_ruh_type { SPDK_NVME_FDP_RUHT_INITIALLY_ISOLATED = 0x1 , SPDK_NVME_FDP_RUHT_PERSISTENTLY_ISOLATED = 0x2 } |
enum | spdk_nvme_fdp_ruh_attributes { SPDK_NVME_FDP_RUHA_UNUSED = 0x0 , SPDK_NVME_FDP_RUHA_HOST_SPECIFIED = 0x1 , SPDK_NVME_FDP_RUHA_CTRLR_SPECIFIED = 0x2 } |
enum | spdk_nvme_fdp_report_event_type { SPDK_NVME_FDP_REPORT_CTRL_EVENTS = 0x0 , SPDK_NVME_FDP_REPORT_HOST_EVENTS = 0x1 } |
enum | spdk_nvme_fdp_event_type { SPDK_NVME_FDP_EVENT_RU_NOT_WRITTEN_CAPACITY = 0x0 , SPDK_NVME_FDP_EVENT_RU_TIME_LIMIT_EXCEEDED = 0x1 , SPDK_NVME_FDP_EVENT_CTRLR_RESET_MODIFY_RUH = 0x2 , SPDK_NVME_FDP_EVENT_INVALID_PLACEMENT_ID = 0x3 , SPDK_NVME_FDP_EVENT_MEDIA_REALLOCATED = 0x80 , SPDK_NVME_FDP_EVENT_IMPLICIT_MODIFIED_RUH = 0x81 } |
enum | spdk_nvme_ns_attach_type { SPDK_NVME_NS_CTRLR_ATTACH = 0x0 , SPDK_NVME_NS_CTRLR_DETACH = 0x1 } |
Namespace attachment Type Encoding. | |
enum | spdk_nvme_ns_management_type { SPDK_NVME_NS_MANAGEMENT_CREATE = 0x0 , SPDK_NVME_NS_MANAGEMENT_DELETE = 0x1 } |
Namespace management Type Encoding. | |
enum | spdk_nvme_nidt { SPDK_NVME_NIDT_EUI64 = 0x01 , SPDK_NVME_NIDT_NGUID = 0x02 , SPDK_NVME_NIDT_UUID = 0x03 , SPDK_NVME_NIDT_CSI = 0x04 } |
Namespace identification descriptor type. More... | |
enum | spdk_nvme_csi { SPDK_NVME_CSI_NVM = 0x0 , SPDK_NVME_CSI_KV = 0x1 , SPDK_NVME_CSI_ZNS = 0x2 } |
enum | spdk_nvme_secure_erase_setting { SPDK_NVME_FMT_NVM_SES_NO_SECURE_ERASE = 0x0 , SPDK_NVME_FMT_NVM_SES_USER_DATA_ERASE = 0x1 , SPDK_NVME_FMT_NVM_SES_CRYPTO_ERASE = 0x2 } |
enum | spdk_nvme_pi_location { SPDK_NVME_FMT_NVM_PROTECTION_AT_TAIL = 0x0 , SPDK_NVME_FMT_NVM_PROTECTION_AT_HEAD = 0x1 } |
enum | spdk_nvme_pi_type { SPDK_NVME_FMT_NVM_PROTECTION_DISABLE = 0x0 , SPDK_NVME_FMT_NVM_PROTECTION_TYPE1 = 0x1 , SPDK_NVME_FMT_NVM_PROTECTION_TYPE2 = 0x2 , SPDK_NVME_FMT_NVM_PROTECTION_TYPE3 = 0x3 } |
enum | spdk_nvme_metadata_setting { SPDK_NVME_FMT_NVM_METADATA_TRANSFER_AS_BUFFER = 0x0 , SPDK_NVME_FMT_NVM_METADATA_TRANSFER_AS_LBA = 0x1 } |
enum | spdk_sanitize_action { SPDK_NVME_SANITIZE_EXIT_FAILURE_MODE = 0x1 , SPDK_NVME_SANITIZE_BLOCK_ERASE = 0x2 , SPDK_NVME_SANITIZE_OVERWRITE = 0x3 , SPDK_NVME_SANITIZE_CRYPTO_ERASE = 0x4 } |
enum | spdk_nvme_fw_commit_action { SPDK_NVME_FW_COMMIT_REPLACE_IMG = 0x0 , SPDK_NVME_FW_COMMIT_REPLACE_AND_ENABLE_IMG = 0x1 , SPDK_NVME_FW_COMMIT_ENABLE_IMG = 0x2 , SPDK_NVME_FW_COMMIT_RUN_IMG = 0x3 , SPDK_NVME_FW_COMMIT_REPLACE_BOOT_PARTITION = 0x6 , SPDK_NVME_FW_COMMIT_ACTIVATE_BOOT_PARTITION = 0x7 } |
Parameters for SPDK_NVME_OPC_FIRMWARE_COMMIT cdw10: commit action. More... | |
enum | spdk_nvme_zns_zone_send_action { SPDK_NVME_ZONE_CLOSE = 0x1 , SPDK_NVME_ZONE_FINISH = 0x2 , SPDK_NVME_ZONE_OPEN = 0x3 , SPDK_NVME_ZONE_RESET = 0x4 , SPDK_NVME_ZONE_OFFLINE = 0x5 , SPDK_NVME_ZONE_SET_ZDE = 0x10 } |
enum | spdk_nvme_zns_zone_receive_action { SPDK_NVME_ZONE_REPORT = 0x0 , SPDK_NVME_ZONE_EXTENDED_REPORT = 0x1 } |
enum | spdk_nvme_zns_zra_report_opts { SPDK_NVME_ZRA_LIST_ALL = 0x0 , SPDK_NVME_ZRA_LIST_ZSE = 0x1 , SPDK_NVME_ZRA_LIST_ZSIO = 0x2 , SPDK_NVME_ZRA_LIST_ZSEO = 0x3 , SPDK_NVME_ZRA_LIST_ZSC = 0x4 , SPDK_NVME_ZRA_LIST_ZSF = 0x5 , SPDK_NVME_ZRA_LIST_ZSRO = 0x6 , SPDK_NVME_ZRA_LIST_ZSO = 0x7 } |
enum | spdk_nvme_zns_zone_type { SPDK_NVME_ZONE_TYPE_SEQWR = 0x2 } |
enum | spdk_nvme_zns_zone_state { SPDK_NVME_ZONE_STATE_EMPTY = 0x1 , SPDK_NVME_ZONE_STATE_IOPEN = 0x2 , SPDK_NVME_ZONE_STATE_EOPEN = 0x3 , SPDK_NVME_ZONE_STATE_CLOSED = 0x4 , SPDK_NVME_ZONE_STATE_RONLY = 0xD , SPDK_NVME_ZONE_STATE_FULL = 0xE , SPDK_NVME_ZONE_STATE_OFFLINE = 0xF } |
enum | spdk_nvme_directive_type { SPDK_NVME_DIRECTIVE_TYPE_IDENTIFY = 0x0 , SPDK_NVME_DIRECTIVE_TYPE_STREAMS = 0x1 , SPDK_NVME_DIRECTIVE_TYPE_DATA_PLACEMENT = 0x2 } |
enum | spdk_nvme_identify_directive_send_operation { SPDK_NVME_IDENTIFY_DIRECTIVE_SEND_ENABLED = 0x1 } |
enum | spdk_nvme_identify_directive_receive_operation { SPDK_NVME_IDENTIFY_DIRECTIVE_RECEIVE_RETURN_PARAM = 0x1 } |
enum | spdk_nvme_streams_directive_receive_operation { SPDK_NVME_STREAMS_DIRECTIVE_RECEIVE_RETURN_PARAM = 0x1 , SPDK_NVME_STREAMS_DIRECTIVE_RECEIVE_GET_STATUS = 0x2 , SPDK_NVME_STREAMS_DIRECTIVE_RECEIVE_ALLOCATE_RESOURCE = 0x3 } |
enum | spdk_nvme_streams_directive_send_operation { SPDK_NVME_STREAMS_DIRECTIVE_SEND_RELEASE_ID = 0x1 , SPDK_NVME_STREAMS_DIRECTIVE_SEND_RELEASE_RESOURCE = 0x2 } |
enum | spdk_nvme_ctrlr_type { SPDK_NVME_CTRLR_IO = 0x1 , SPDK_NVME_CTRLR_DISCOVERY = 0x2 , SPDK_NVME_CTRLR_ADMINISTRATIVE = 0x3 } |
Functions | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_cap_register)==8, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_cc_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_csts_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_aqa_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_vs_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (SPDK_NVME_VERSION(1, 0, 0)==0x00010000, "version macro error") | |
SPDK_STATIC_ASSERT (SPDK_NVME_VERSION(1, 2, 1)==0x00010201, "version macro error") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_cmbloc_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_cmbsz_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_cmbmsc_register)==8, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_cmbsts_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_pmrcap_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_pmrctl_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_pmrsts_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_pmrebs_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_pmrswtp_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_pmrmscl_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_bpinfo_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_bprsel_register)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (0x00==offsetof(struct spdk_nvme_registers, cap), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x08==offsetof(struct spdk_nvme_registers, vs), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x0C==offsetof(struct spdk_nvme_registers, intms), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x10==offsetof(struct spdk_nvme_registers, intmc), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x14==offsetof(struct spdk_nvme_registers, cc), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x1C==offsetof(struct spdk_nvme_registers, csts), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x20==offsetof(struct spdk_nvme_registers, nssr), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x24==offsetof(struct spdk_nvme_registers, aqa), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x28==offsetof(struct spdk_nvme_registers, asq), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x30==offsetof(struct spdk_nvme_registers, acq), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x38==offsetof(struct spdk_nvme_registers, cmbloc), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x3C==offsetof(struct spdk_nvme_registers, cmbsz), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x40==offsetof(struct spdk_nvme_registers, bpinfo), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x44==offsetof(struct spdk_nvme_registers, bprsel), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x48==offsetof(struct spdk_nvme_registers, bpmbl), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x50==offsetof(struct spdk_nvme_registers, cmbmsc), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0x58==offsetof(struct spdk_nvme_registers, cmbsts), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0xE00==offsetof(struct spdk_nvme_registers, pmrcap), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0xE04==offsetof(struct spdk_nvme_registers, pmrctl), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0xE08==offsetof(struct spdk_nvme_registers, pmrsts), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0xE0C==offsetof(struct spdk_nvme_registers, pmrebs), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0xE10==offsetof(struct spdk_nvme_registers, pmrswtp), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0xE14==offsetof(struct spdk_nvme_registers, pmrmscl), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (0xE18==offsetof(struct spdk_nvme_registers, pmrmscu), "Incorrect register offset") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_sgl_descriptor)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_arbitration)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_power_management)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_lba_range_type)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_temperature_threshold)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_error_recovery)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_volatile_write_cache)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_number_of_queues)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_interrupt_coalescing)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_interrupt_vector_configuration)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_write_atomicity)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_critical_warning_state)==1, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_async_event_configuration)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_autonomous_power_state_transition)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_host_mem_buffer)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_keep_alive_timer)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_host_controlled_thermal_management)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_non_operational_power_state_config)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_software_progress_marker)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_host_identifier)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_reservation_notification_mask)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_reservation_persistence)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_fdp_cdw11)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_fdp_cdw12)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_fdp_events_cdw11)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_feat_fdp_events_cdw12)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_cmd_cdw10)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_cmd_cdw11)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_cmd_cdw12)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_cmd_cdw13)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_cmd)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_status)==2, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_cpl)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_dsm_range)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_scc_source_range)==32, "Incorrect size") | |
static enum spdk_nvme_data_transfer | spdk_nvme_opc_get_data_transfer (uint8_t opc) |
Extract the Data Transfer bits from an NVMe opcode. | |
static uint32_t | spdk_nvme_bytes_to_numd (uint32_t len) |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_host_behavior)==512, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_event_desc)==2, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_ruhs_desc)==32, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_ruhs)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_power_state)==32, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_ctrlr_data)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_zns_ctrlr_data)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_primary_ctrl_capabilities)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_secondary_ctrl_entry)==32, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_secondary_ctrl_list)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_ns_data)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_nvm_ns_data)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_nvm_ctrlr_data)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_zns_ns_data)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_iocs_vector)==8, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_reservation_acquire_data)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_reservation_status_data)==24, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_reservation_status_extended_data)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_registered_ctrlr_data)==24, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_registered_ctrlr_extended_data)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_reservation_register_data)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_reservation_key_data)==8, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_reservation_notification_log)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_error_information_entry)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_health_information_page)==512, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_cmds_and_effect_log_page)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_telemetry_log_page_hdr)==512, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_sanitize_status_log_page)==512, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(union spdk_nvme_async_event_completion)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_firmware_page)==512, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_ana_page)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_ana_group_descriptor)==32, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_ruh_descriptor)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_cfg_descriptor)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_cfg_log_page)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_ruhu_descriptor)==8, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_ruhu_log_page)==8, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_stats_log_page)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_event_media_reallocated)==16, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_event)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fdp_events_log_page)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_ns_list)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_ns_id_desc)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_ctrlr_list)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_format)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_protection_info)==8, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_sanitize)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_fw_commit)==4, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_zns_zone_desc)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_zns_zone_report)==64, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_ns_identify_directive_param)==4096, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_ns_streams_data)==32, "Incorrect size") | |
SPDK_STATIC_ASSERT (sizeof(struct spdk_nvme_ns_streams_status)==131072, "Incorrect size") | |
NVMe specification definitions.
#define spdk_nvme_cpl_is_aborted_by_request | ( | cpl | ) |
#define spdk_nvme_cpl_is_aborted_sq_deletion | ( | cpl | ) |
#define spdk_nvme_cpl_is_ana_error | ( | cpl | ) |
#define spdk_nvme_cpl_is_error | ( | cpl | ) |
#define spdk_nvme_cpl_is_pi_error | ( | cpl | ) |
#define SPDK_NVME_VERSION | ( | mjr, | |
mnr, | |||
ter ) |
Generate raw version in the same format as spdk_nvme_vs_register for comparison.
enum spdk_nvme_cap_ams |
Optional Arbitration Mechanism Supported by the controller.
Two bits for CAP.AMS (18:17) field are set to '1' when the controller supports. There is no bit for AMS_RR where all controllers support and set to 0x0 by default.
Enumerator | |
---|---|
SPDK_NVME_CAP_AMS_WRR | weighted round robin |
SPDK_NVME_CAP_AMS_VS | vendor specific |
enum spdk_nvme_cc_ams |
enum spdk_nvme_cc_css |
I/O Command Set Selected.
Only a single command set is defined as of NVMe 1.3 (NVM). Later, it became possible to disable I/O Command Sets, that is, configuring it to only use the Admin Command Set. With 1.4c and Namespace Types, additional I/O Command Sets are available.
Enumerator | |
---|---|
SPDK_NVME_CC_CSS_NVM | NVM command set. |
SPDK_NVME_CC_CSS_IOCS | One or more I/O command sets. |
SPDK_NVME_CC_CSS_NOIO | No I/O, only admin. |
enum spdk_nvme_cmd_fuse |
Data transfer (bits 1:0) of an NVMe opcode.
enum spdk_nvme_feat |
Enumerator | |
---|---|
SPDK_NVME_FEAT_ARBITRATION | cdw11 layout defined by spdk_nvme_feat_arbitration |
SPDK_NVME_FEAT_POWER_MANAGEMENT | cdw11 layout defined by spdk_nvme_feat_power_management |
SPDK_NVME_FEAT_LBA_RANGE_TYPE | cdw11 layout defined by spdk_nvme_feat_lba_range_type |
SPDK_NVME_FEAT_TEMPERATURE_THRESHOLD | cdw11 layout defined by spdk_nvme_feat_temperature_threshold |
SPDK_NVME_FEAT_ERROR_RECOVERY | cdw11 layout defined by spdk_nvme_feat_error_recovery |
SPDK_NVME_FEAT_VOLATILE_WRITE_CACHE | cdw11 layout defined by spdk_nvme_feat_volatile_write_cache |
SPDK_NVME_FEAT_NUMBER_OF_QUEUES | cdw11 layout defined by spdk_nvme_feat_number_of_queues |
SPDK_NVME_FEAT_INTERRUPT_COALESCING | cdw11 layout defined by spdk_nvme_feat_interrupt_coalescing |
SPDK_NVME_FEAT_INTERRUPT_VECTOR_CONFIGURATION | cdw11 layout defined by spdk_nvme_feat_interrupt_vector_configuration |
SPDK_NVME_FEAT_WRITE_ATOMICITY | cdw11 layout defined by spdk_nvme_feat_write_atomicity |
SPDK_NVME_FEAT_ASYNC_EVENT_CONFIGURATION | cdw11 layout defined by spdk_nvme_feat_async_event_configuration |
SPDK_NVME_FEAT_AUTONOMOUS_POWER_STATE_TRANSITION | cdw11 layout defined by spdk_nvme_feat_autonomous_power_state_transition |
SPDK_NVME_FEAT_HOST_MEM_BUFFER | cdw11 layout defined by spdk_nvme_feat_host_mem_buffer |
SPDK_NVME_FEAT_KEEP_ALIVE_TIMER | cdw11 layout defined by spdk_nvme_feat_keep_alive_timer |
SPDK_NVME_FEAT_HOST_CONTROLLED_THERMAL_MANAGEMENT | cdw11 layout defined by spdk_nvme_feat_host_controlled_thermal_management |
SPDK_NVME_FEAT_NON_OPERATIONAL_POWER_STATE_CONFIG | cdw11 layout defined by spdk_nvme_feat_non_operational_power_state_config |
SPDK_NVME_FEAT_HOST_BEHAVIOR_SUPPORT | data buffer layout defined by spdk_nvme_host_behavior |
SPDK_NVME_FEAT_FDP | cdw11 layout defined by spdk_nvme_feat_fdp_cdw11 cdw12 layout defined by spdk_nvme_feat_fdp_cdw12 |
SPDK_NVME_FEAT_FDP_EVENTS | cdw11 layout defined by spdk_nvme_feat_fdp_events_cdw11 cdw12 layout defined by spdk_nvme_feat_fdp_events_cdw12 data layout defined by spdk_nvme_fdp_event_desc |
SPDK_NVME_FEAT_SOFTWARE_PROGRESS_MARKER | cdw11 layout defined by spdk_nvme_feat_software_progress_marker |
SPDK_NVME_FEAT_HOST_IDENTIFIER | cdw11 layout defined by spdk_nvme_feat_host_identifier |
SPDK_NVME_FEAT_HOST_RESERVE_MASK | cdw11 layout defined by spdk_nvme_feat_reservation_notification_mask |
SPDK_NVME_FEAT_HOST_RESERVE_PERSIST | cdw11 layout defined by spdk_nvme_feat_reservation_persistence |
Identify Controller data vwc.flush_broadcast values.
Parameters for SPDK_NVME_OPC_FIRMWARE_COMMIT cdw10: commit action.
Identify command CNS value.
enum spdk_nvme_log_page |
Log page identifiers for SPDK_NVME_OPC_GET_LOG_PAGE.
Enumerator | |
---|---|
SPDK_NVME_LOG_SUPPORTED_LOG_PAGES | Supported log pages (optional) |
SPDK_NVME_LOG_ERROR | Error information (mandatory) - spdk_nvme_error_information_entry. |
SPDK_NVME_LOG_HEALTH_INFORMATION | SMART / health information (mandatory) - spdk_nvme_health_information_page. |
SPDK_NVME_LOG_FIRMWARE_SLOT | Firmware slot information (mandatory) - spdk_nvme_firmware_page. |
SPDK_NVME_LOG_CHANGED_NS_LIST | Changed namespace list (optional) |
SPDK_NVME_LOG_COMMAND_EFFECTS_LOG | Command effects log (optional) |
SPDK_NVME_LOG_DEVICE_SELF_TEST | Device self test (optional) |
SPDK_NVME_LOG_TELEMETRY_HOST_INITIATED | Host initiated telemetry log (optional) |
SPDK_NVME_LOG_TELEMETRY_CTRLR_INITIATED | Controller initiated telemetry log (optional) |
SPDK_NVME_LOG_ENDURANCE_GROUP_INFORMATION | Endurance group Information (optional) |
SPDK_NVME_LOG_PREDICATBLE_LATENCY | Predictable latency per NVM set (optional) |
SPDK_NVME_LOG_PREDICTABLE_LATENCY_EVENT | Predictable latency event aggregate (optional) |
SPDK_NVME_LOG_ASYMMETRIC_NAMESPACE_ACCESS | Asymmetric namespace access log (optional) |
SPDK_NVME_LOG_PERSISTENT_EVENT_LOG | Persistent event log (optional) |
SPDK_NVME_LOG_ENDURANCE_GROUP_EVENT | Endurance group event aggregate (optional) |
SPDK_NVME_LOG_MEDIA_UNIT_STATUS | Media unit status (optional) |
SPDK_NVME_LOG_CAPACITY_CONFIGURATION_LIST | Supported capacity configuration list (optional) |
SPDK_NVME_LOG_FEATURE_IDS_EFFECTS | Feature identifiers supported and effects (optional) |
SPDK_NVME_LOG_NVME_MI_COMMANDS_EFFECTS | NVMe-MI commands supported and effects (optional) |
SPDK_NVME_LOG_COMMAND_FEATURE_LOCKDOWN | Command and feature lockdown (optional) |
SPDK_NVME_LOG_BOOT_PARTITION | Boot partition (optional) |
SPDK_NVME_LOG_ROTATIONAL_MEDIA_INFORMATION | Rotational media information (optional) |
SPDK_NVME_LOG_FDP_CONFIGURATIONS | FDP configurations (optional) |
SPDK_NVME_LOG_RECLAIM_UNIT_HANDLE_USAGE | Reclaim unit handle usage (optional) |
SPDK_NVME_LOG_FDP_STATISTICS | FDP statistics (optional) |
SPDK_NVME_LOG_FDP_EVENTS | FDP events (optional) |
SPDK_NVME_LOG_DISCOVERY | Discovery(refer to the NVMe over Fabrics specification) |
SPDK_NVME_LOG_RESERVATION_NOTIFICATION | Reservation notification (optional) |
SPDK_NVME_LOG_SANITIZE_STATUS | Sanitize status (optional) |
SPDK_NVME_LOG_CHANGED_ZONE_LIST | Changed zone list (refer to Zoned Namespace command set) |
enum spdk_nvme_nidt |
Namespace identification descriptor type.
Enumerator | |
---|---|
SPDK_NVME_NIDT_EUI64 | IEEE Extended Unique Identifier. |
SPDK_NVME_NIDT_NGUID | Namespace GUID. |
SPDK_NVME_NIDT_UUID | Namespace UUID. |
SPDK_NVME_NIDT_CSI | Namespace Command Set Identifier. |
enum spdk_nvme_qprio |
Submission queue priority values for Create I/O Submission Queue Command.
Only valid for weighted round robin arbitration method.
Identify Controller data sgls.supported values.
enum spdk_nvme_zns_opcode |
Zoned Namespace command set opcodes.
In addition to the opcodes of the NVM command set, the Zoned Namespace command set supports the following opcodes.
|
inlinestatic |
Extract the Data Transfer bits from an NVMe opcode.
This determines whether a command requires a data buffer and which direction (host to controller or controller to host) it is transferred.