-
struct nvme_identify_args¶
Arguments for the NVMe Identify command
Definition
struct nvme_identify_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
enum nvme_identify_cns cns;
enum nvme_csi csi;
__u32 nsid;
__u16 cntid;
__u16 cns_specific_id;
__u8 uuidx;
};
Members
resultThe command completion result from CQE dword0
dataUser space destination address to transfer the data
args_sizeSize of
struct nvme_identify_argsfdFile descriptor of nvme device
timeoutTimeout in ms (0 for default timeout)
cnsThe Controller or Namespace structure, see enum nvme_identify_cns
csiCommand Set Identifier
nsidNamespace identifier, if applicable
cntidThe Controller Identifier, if applicable
cns_specific_idIdentifier that is required for a particular CNS value
uuidxUUID Index if controller supports this id selection method
-
struct nvme_get_log_args¶
Arguments for the NVMe Admin Get Log command
Definition
struct nvme_get_log_args {
__u64 lpo;
__u32 *result;
void *log;
int args_size;
int fd;
__u32 timeout;
enum nvme_cmd_get_log_lid lid;
__u32 len;
__u32 nsid;
enum nvme_csi csi;
__u16 lsi;
__u8 lsp;
__u8 uuidx;
bool rae;
bool ot;
};
Members
lpoLog page offset for partial log transfers
resultThe command completion result from CQE dword0
logUser space destination address to transfer the data
args_sizeLength of the structure
fdFile descriptor of nvme device
timeoutTimeout in ms
lidLog page identifier, see
enum nvme_cmd_get_log_lidfor known valueslenLength of provided user buffer to hold the log data in bytes
nsidNamespace identifier, if applicable
csiCommand set identifier, see
enum nvme_csifor known valueslsiLog Specific Identifier
lspLog specific field
uuidxUUID selection, if supported
raeRetain asynchronous events
otOffset Type; if set lpo specifies the index into the list of data structures, otherwise lpo specifies the byte offset into the log page.
-
struct nvme_set_features_args¶
Arguments for the NVMe Admin Set Feature command
Definition
struct nvme_set_features_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
__u32 cdw11;
__u32 cdw12;
__u32 cdw13;
__u32 cdw15;
__u32 data_len;
bool save;
__u8 uuidx;
__u8 fid;
};
Members
resultThe command completion result from CQE dword0
dataUser address of feature data, if applicable
args_sizeSize of
struct nvme_set_features_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace ID, if applicable
cdw11Value to set the feature to
cdw12Feature specific command dword12 field
cdw13Feature specific command dword13 field
cdw15Feature specific command dword15 field
data_lenLength of feature data, if applicable, in bytes
saveSave value across power states
uuidxUUID Index for differentiating vendor specific encoding
fidFeature identifier
-
struct nvme_get_features_args¶
Arguments for the NVMe Admin Get Feature command
Definition
struct nvme_get_features_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_get_features_sel sel;
__u32 cdw11;
__u32 data_len;
__u8 fid;
__u8 uuidx;
};
Members
resultThe command completion result from CQE dword0
dataUser address of feature data, if applicable
args_sizeSize of
struct nvme_get_features_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace ID, if applicable
selSelect which type of attribute to return, see
enum nvme_get_features_selcdw11Feature specific command dword11 field
data_lenLength of feature data, if applicable, in bytes
fidFeature identifier, see
enum nvme_features_iduuidxUUID Index for differentiating vendor specific encoding
-
struct nvme_format_nvm_args¶
Arguments for the Format Nvme Namespace command
Definition
struct nvme_format_nvm_args {
__u32 *result;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_cmd_format_mset mset;
enum nvme_cmd_format_pi pi;
enum nvme_cmd_format_pil pil;
enum nvme_cmd_format_ses ses;
__u8 lbaf;
__u8 rsvd1[7];
__u8 lbafu;
};
Members
resultThe command completion result from CQE dword0
args_sizeSize of
struct nvme_format_nvm_argsfdFile descriptor of nvme device
timeoutSet to override default timeout to this value in milliseconds; useful for long running formats. 0 will use system default.
nsidNamespace ID to format
msetMetadata settings (extended or separated), true if extended
piProtection information type
pilProtection information location (beginning or end), true if end
sesSecure erase settings
lbafLogical block address format least significant 4 bits
rsvd1Reserved
lbafuLogical block address format most significant 2 bits
-
struct nvme_ns_mgmt_args¶
Arguments for NVMe Namespace Management command
Definition
struct nvme_ns_mgmt_args {
__u32 *result;
struct nvme_id_ns *ns;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_ns_mgmt_sel sel;
__u8 csi;
__u8 rsvd1[3];
void *rsvd2;
struct nvme_ns_mgmt_host_sw_specified *data;
};
Members
resultNVMe command result
nsNamespace identification descriptors
args_sizeSize of
struct nvme_ns_mgmt_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace identifier
selType of management operation to perform
csiCommand Set Identifier
rsvd1Reserved
rsvd2Reserved
dataHost Software Specified Fields
-
struct nvme_ns_attach_args¶
Arguments for Nvme Namespace Management command
Definition
struct nvme_ns_attach_args {
__u32 *result;
struct nvme_ctrl_list *ctrlist;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_ns_attach_sel sel;
};
Members
resultNVMe command result
ctrlistController list to modify attachment state of nsid
args_sizeSize of
struct nvme_ns_attach_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace ID to execute attach selection
selAttachment selection, see
enum nvme_ns_attach_sel
-
struct nvme_fw_download_args¶
Arguments for the NVMe Firmware Download command
Definition
struct nvme_fw_download_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 offset;
__u32 data_len;
};
Members
resultThe command completion result from CQE dword0
dataUserspace address of the firmware data
args_sizeSize of
struct nvme_fw_download_argsfdFile descriptor of nvme device
timeoutTimeout in ms
offsetOffset in the firmware data
data_lenLength of data in this command in bytes
-
struct nvme_fw_commit_args¶
Arguments for the NVMe Firmware Commit command
Definition
struct nvme_fw_commit_args {
__u32 *result;
int args_size;
int fd;
__u32 timeout;
enum nvme_fw_commit_ca action;
__u8 slot;
bool bpid;
};
Members
resultThe command completion result from CQE dword0
args_sizeSize of
struct nvme_fw_commit_argsfdFile descriptor of nvme device
timeoutTimeout in ms
actionAction to use for the firmware image, see
enum nvme_fw_commit_caslotFirmware slot to commit the downloaded image
bpidSet to true to select the boot partition id
-
struct nvme_security_send_args¶
Arguments for the NVMe Security Send command
Definition
struct nvme_security_send_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
__u32 tl;
__u32 data_len;
__u8 nssf;
__u8 spsp0;
__u8 spsp1;
__u8 secp;
};
Members
resultThe command completion result from CQE dword0
dataSecurity data payload to send
args_sizeSize of
struct nvme_security_send_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace ID to issue security command on
tlProtocol specific transfer length
data_lenData length of the payload in bytes
nssfNVMe Security Specific field
spsp0Security Protocol Specific field
spsp1Security Protocol Specific field
secpSecurity Protocol
-
struct nvme_security_receive_args¶
Arguments for the NVMe Security Receive command
Definition
struct nvme_security_receive_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
__u32 al;
__u32 data_len;
__u8 nssf;
__u8 spsp0;
__u8 spsp1;
__u8 secp;
};
Members
resultThe command completion result from CQE dword0
dataSecurity data payload to send
args_sizefdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace ID to issue security command on
alProtocol specific allocation length
data_lenData length of the payload in bytes
nssfNVMe Security Specific field
spsp0Security Protocol Specific field
spsp1Security Protocol Specific field
secpSecurity Protocol
-
struct nvme_get_lba_status_args¶
Arguments for the NVMe Get LBA Status command
Definition
struct nvme_get_lba_status_args {
__u64 slba;
__u32 *result;
struct nvme_lba_status *lbas;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
__u32 mndw;
enum nvme_lba_status_atype atype;
__u16 rl;
};
Members
slbaStarting logical block address to check statuses
resultThe command completion result from CQE dword0
lbasData payload to return status descriptors
args_sizeSize of
struct nvme_get_lba_status_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace ID to retrieve LBA status
mndwMaximum number of dwords to return
atypeAction type mechanism to determine LBA status descriptors to return, see
enum nvme_lba_status_atyperlRange length from slba to perform the action
-
struct nvme_directive_send_args¶
Arguments for the NVMe Directive Send command
Definition
struct nvme_directive_send_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_directive_send_doper doper;
enum nvme_directive_dtype dtype;
__u32 cdw12;
__u32 data_len;
__u16 dspec;
};
Members
resultIf successful, the CQE dword0 value
dataData payload to be send
args_sizeSize of
struct nvme_directive_send_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace ID, if applicable
doperDirective send operation, see
enum nvme_directive_send_doperdtypeDirective type, see
enum nvme_directive_dtypecdw12Directive specific command dword12
data_lenLength of data payload in bytes
dspecDirective specific field
-
struct nvme_directive_recv_args¶
Arguments for the NVMe Directive Receive command
Definition
struct nvme_directive_recv_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_directive_receive_doper doper;
enum nvme_directive_dtype dtype;
__u32 cdw12;
__u32 data_len;
__u16 dspec;
};
Members
resultIf successful, the CQE dword0 value
dataUserspace address of data payload
args_sizeSize of
struct nvme_directive_recv_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace ID, if applicable
doperDirective send operation, see
enum nvme_directive_send_doperdtypeDirective type, see
enum nvme_directive_dtypecdw12Directive specific command dword12
data_lenLength of data payload in bytes
dspecDirective specific field
-
struct nvme_capacity_mgmt_args¶
Arguments for the NVMe Capacity Management command
Definition
struct nvme_capacity_mgmt_args {
__u32 *result;
int args_size;
int fd;
__u32 timeout;
__u32 cdw11;
__u32 cdw12;
__u16 element_id;
__u8 op;
};
Members
resultIf successful, the CQE dword0 value
args_sizeSize of
struct nvme_capacity_mgmt_argsfdFile descriptor of nvme device
timeoutTimeout in ms
cdw11Least significant 32 bits of the capacity in bytes of the Endurance Group or NVM Set to be created
cdw12Most significant 32 bits of the capacity in bytes of the Endurance Group or NVM Set to be created
element_idValue specific to the value of the Operation field
opOperation to be performed by the controller
-
struct nvme_lockdown_args¶
Arguments for the NVME Lockdown command
Definition
struct nvme_lockdown_args {
__u32 *result;
int args_size;
int fd;
__u32 timeout;
__u8 scp;
__u8 prhbt;
__u8 ifc;
__u8 ofi;
__u8 uuidx;
};
Members
resultThe command completion result from CQE dword0
args_sizeSize of
struct nvme_lockdown_argsfdFile descriptor of nvme device
timeoutTimeout in ms (0 for default timeout)
scpScope of the command
prhbtProhibit or allow the command opcode or Set Features command
ifcAffected interface
ofiOpcode or Feature Identifier
uuidxUUID Index if controller supports this id selection method
-
struct nvme_set_property_args¶
Arguments for NVMe Set Property command
Definition
struct nvme_set_property_args {
__u64 value;
__u32 *result;
int args_size;
int fd;
__u32 timeout;
int offset;
};
Members
valueThe value to set the property
resultThe command completion result from CQE dword0
args_sizeSize of
struct nvme_set_property_argsfdFile descriptor of nvme device
timeoutTimeout in ms
offsetProperty offset from the base to set
-
struct nvme_get_property_args¶
Arguments for NVMe Get Property command
Definition
struct nvme_get_property_args {
__u64 *value;
int args_size;
int fd;
__u32 timeout;
int offset;
};
Members
valueWhere the property’s value will be stored on success
args_sizeSize of
struct nvme_get_property_argsfdFile descriptor of nvme device
timeoutTimeout in ms
offsetProperty offset from the base to retrieve
-
struct nvme_sanitize_nvm_args¶
Arguments for the NVMe Sanitize NVM command
Definition
struct nvme_sanitize_nvm_args {
__u32 *result;
int args_size;
int fd;
__u32 timeout;
enum nvme_sanitize_sanact sanact;
__u32 ovrpat;
bool ause;
__u8 owpass;
bool oipbp;
bool nodas;
bool emvs;
};
Members
resultThe command completion result from CQE dword0
args_sizeSize of
struct nvme_sanitize_nvm_argsfdFile descriptor of nvme device
timeoutTimeout in ms
sanactSanitize action, see
enum nvme_sanitize_sanactovrpatOverwrite pattern
auseSet to allow unrestricted sanitize exit
owpassOverwrite pass count
oipbpSet to overwrite invert pattern between passes
nodasSet to not deallocate blocks after sanitizing
emvsSet to enter media verification state
-
struct nvme_dev_self_test_args¶
Arguments for the NVMe Device Self Test command
Definition
struct nvme_dev_self_test_args {
__u32 *result;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_dst_stc stc;
};
Members
resultThe command completion result from CQE dword0
args_sizeSize of
struct nvme_dev_self_test_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace ID to test
stcSelf test code, see
enum nvme_dst_stc
-
struct nvme_virtual_mgmt_args¶
Arguments for the NVMe Virtualization resource management command
Definition
struct nvme_virtual_mgmt_args {
__u32 *result;
int args_size;
int fd;
__u32 timeout;
enum nvme_virt_mgmt_act act;
enum nvme_virt_mgmt_rt rt;
__u16 cntlid;
__u16 nr;
};
Members
resultIf successful, the CQE dword0
args_sizeSize of
struct nvme_virtual_mgmt_argsfdFile descriptor of nvme device
timeoutTimeout in ms
actVirtual resource action, see
enum nvme_virt_mgmt_actrtResource type to modify, see
enum nvme_virt_mgmt_rtcntlidController id for which resources are bing modified
nrNumber of resources being allocated or assigned
-
struct nvme_io_args¶
Arguments for NVMe I/O commands
Definition
struct nvme_io_args {
__u64 slba;
__u64 storage_tag;
__u32 *result;
void *data;
void *metadata;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
__u32 reftag;
__u32 data_len;
__u32 metadata_len;
__u16 nlb;
__u16 control;
__u16 apptag;
__u16 appmask;
__u16 dspec;
__u8 dsm;
__u8 rsvd1[1];
__u64 reftag_u64;
__u8 sts;
__u8 pif;
};
Members
slbaStarting logical block
storage_tagThis filed specifies Variable Sized Expected Logical Block Storage Tag (ELBST) or Logical Block Storage Tag (LBST)
resultThe command completion result from CQE dword0
dataPointer to user address of the data buffer
metadataPointer to user address of the metadata buffer
args_sizeSize of
struct nvme_io_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace ID
reftagThis field specifies the variable sized Expected Initial Logical Block Reference Tag (EILBRT) or Initial Logical Block Reference Tag (ILBRT). Used only if the namespace is formatted to use end-to-end protection information.
data_lenLength of user buffer, data, in bytes
metadata_lenLength of user buffer, metadata, in bytes
nlbNumber of logical blocks to send (0’s based value)
controlCommand control flags, see
enum nvme_io_control_flags.apptagThis field specifies the Application Tag Mask expected value. Used only if the namespace is formatted to use end-to-end protection information.
appmaskThis field specifies the Application Tag expected value. Used only if the namespace is formatted to use end-to-end protection information.
dspecDirective specific value
dsmData set management attributes, see
enum nvme_io_dsm_flagsrsvd1Reserved
reftag_u64This field specifies the variable sized Expected Initial Logical Block Reference Tag (EILBRT) or Initial Logical Block Reference Tag (ILBRT). It is the 8 byte version required for enhanced protection information. Used only if the namespace is formatted to use end-to-end protection information.
stsStorage tag size in bits, set by namespace Extended LBA Format
pifProtection information format, determines how variable sized storage_tag and reftag are put into dwords 2, 3, and 14. Set by namespace Extended LBA Format.
-
struct nvme_dsm_args¶
Arguments for the NVMe Dataset Management command
Definition
struct nvme_dsm_args {
__u32 *result;
struct nvme_dsm_range *dsm;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
__u32 attrs;
__u16 nr_ranges;
};
Members
resultThe command completion result from CQE dword0
dsmThe data set management attributes
args_sizeSize of
struct nvme_dsm_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace identifier
attrsDSM attributes, see
enum nvme_dsm_attributesnr_rangesNumber of block ranges in the data set management attributes
-
struct nvme_copy_args¶
Arguments for the NVMe Copy command
Definition
struct nvme_copy_args {
__u64 sdlba;
__u32 *result;
struct nvme_copy_range *copy;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
__u32 ilbrt;
int lr;
int fua;
__u16 nr;
__u16 dspec;
__u16 lbatm;
__u16 lbat;
__u8 prinfor;
__u8 prinfow;
__u8 dtype;
__u8 format;
__u64 ilbrt_u64;
};
Members
sdlbaStart destination LBA
resultThe command completion result from CQE dword0
copyRange description
args_sizeSize of
struct nvme_copy_argsfdFile descriptor of the nvme device
timeoutTimeout in ms
nsidNamespace identifier
ilbrtInitial logical block reference tag
lrLimited retry
fuaForce unit access
nrNumber of ranges
dspecDirective specific value
lbatmLogical block application tag mask
lbatLogical block application tag
prinforProtection information field for read
prinfowProtection information field for write
dtypeDirective type
formatDescriptor format
ilbrt_u64Initial logical block reference tag - 8 byte version required for enhanced protection info
-
struct nvme_resv_acquire_args¶
Arguments for the NVMe Reservation Acquire Command
Definition
struct nvme_resv_acquire_args {
__u64 crkey;
__u64 nrkey;
__u32 *result;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_resv_rtype rtype;
enum nvme_resv_racqa racqa;
bool iekey;
};
Members
crkeyThe current reservation key associated with the host
nrkeyThe reservation key to be unregistered from the namespace if the action is preempt
resultThe command completion result from CQE dword0
args_sizeSize of
struct nvme_resv_acquire_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace identifier
rtypeThe type of reservation to be create, see
enum nvme_resv_rtyperacqaThe action that is performed by the command, see
enum nvme_resv_racqaiekeySet to ignore the existing key
-
struct nvme_resv_register_args¶
Arguments for the NVMe Reservation Register command
Definition
struct nvme_resv_register_args {
__u64 crkey;
__u64 nrkey;
__u32 *result;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_resv_rrega rrega;
enum nvme_resv_cptpl cptpl;
bool iekey;
};
Members
crkeyThe current reservation key associated with the host
nrkeyThe new reservation key to be register if action is register or replace
resultThe command completion result from CQE dword0
args_sizeSize of
struct nvme_resv_register_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace identifier
rregaThe registration action, see
enum nvme_resv_rregacptplChange persist through power loss, see
enum nvme_resv_cptpliekeySet to ignore the existing key
-
struct nvme_resv_release_args¶
Arguments for the NVMe Reservation Release Command
Definition
struct nvme_resv_release_args {
__u64 crkey;
__u32 *result;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_resv_rtype rtype;
enum nvme_resv_rrela rrela;
bool iekey;
};
Members
crkeyThe current reservation key to release
resultThe command completion result from CQE dword0
args_sizeSize of
struct nvme_resv_release_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace identifier
rtypeThe type of reservation to be create, see
enum nvme_resv_rtyperrelaReservation release action, see
enum nvme_resv_rrelaiekeySet to ignore the existing key
-
struct nvme_resv_report_args¶
Arguments for the NVMe Reservation Report command
Definition
struct nvme_resv_report_args {
__u32 *result;
struct nvme_resv_status *report;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
__u32 len;
bool eds;
};
Members
resultThe command completion result from CQE dword0
reportThe user space destination address to store the reservation report
args_sizeSize of
struct nvme_resv_report_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace identifier
lenNumber of bytes to request transferred with this command
edsRequest extended Data Structure
-
struct nvme_io_mgmt_recv_args¶
Arguments for the NVMe I/O Management Receive command
Definition
struct nvme_io_mgmt_recv_args {
void *data;
int args_size;
int fd;
__u32 nsid;
__u32 data_len;
__u32 timeout;
__u16 mos;
__u8 mo;
};
Members
dataUserspace address of the data
args_sizeSize of
struct nvme_io_mgmt_recv_argsfdFile descriptor of nvme device
nsidNamespace identifier
data_lenLength of data
timeoutTimeout in ms
mosManagement Operation Specific
moManagement Operation
-
struct nvme_io_mgmt_send_args¶
Arguments for the NVMe I/O Management Send command
Definition
struct nvme_io_mgmt_send_args {
void *data;
int args_size;
int fd;
__u32 nsid;
__u32 data_len;
__u32 timeout;
__u16 mos;
__u8 mo;
};
Members
dataUserspace address of the data
args_sizeSize of
struct nvme_io_mgmt_send_argsfdFile descriptor of nvme device
nsidNamespace identifier
data_lenLength of data
timeoutTimeout in ms
mosManagement Operation Specific
moManagement Operation
-
struct nvme_zns_mgmt_send_args¶
Arguments for the NVMe ZNS Management Send command
Definition
struct nvme_zns_mgmt_send_args {
__u64 slba;
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_zns_send_action zsa;
__u32 data_len;
bool select_all;
__u8 zsaso;
};
Members
slbaStarting logical block address
resultThe command completion result from CQE dword0
dataUserspace address of the data
args_sizeSize of
struct nvme_zns_mgmt_send_argsfdFile descriptor of nvme device
timeouttimeout in ms
nsidNamespace ID
zsaZone send action
data_lenLength of data
select_allSelect all flag
zsasoZone Send Action Specific Option
-
struct nvme_zns_mgmt_recv_args¶
Arguments for the NVMe ZNS Management Receive command
Definition
struct nvme_zns_mgmt_recv_args {
__u64 slba;
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_zns_recv_action zra;
__u32 data_len;
__u16 zrasf;
bool zras_feat;
};
Members
slbaStarting logical block address
resultThe command completion result from CQE dword0
dataUserspace address of the data
args_sizeSize of
struct nvme_zns_mgmt_recv_argsfdFile descriptor of nvme device
timeouttimeout in ms
nsidNamespace ID
zrazone receive action
data_lenLength of data
zrasfZone receive action specific field
zras_featZone receive action specific features
-
struct nvme_zns_append_args¶
Arguments for the NVMe ZNS Append command
Definition
struct nvme_zns_append_args {
__u64 zslba;
__u64 *result;
void *data;
void *metadata;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
__u32 ilbrt;
__u32 data_len;
__u32 metadata_len;
__u16 nlb;
__u16 control;
__u16 lbat;
__u16 lbatm;
__u8 rsvd1[4];
__u64 ilbrt_u64;
};
Members
zslbaZone start logical block address
resultThe command completion result from CQE dword0
dataUserspace address of the data
metadataUserspace address of the metadata
args_sizeSize of
struct nvme_zns_append_argsfdFile descriptor of nvme device
timeoutTimeout in ms
nsidNamespace ID
ilbrtInitial logical block reference tag
data_lenLength of data
metadata_lenLength of metadata
nlbNumber of logical blocks
control
lbatLogical block application tag
lbatmLogical block application tag mask
rsvd1Reserved
ilbrt_u64Initial logical block reference tag - 8 byte version required for enhanced protection info
-
struct nvme_dim_args¶
Arguments for the Discovery Information Management (DIM) command
Definition
struct nvme_dim_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 data_len;
__u8 tas;
};
Members
resultSet on completion to the command’s CQE DWORD 0 controller response.
dataPointer to the DIM data
args_sizeLength of the structure
fdFile descriptor of nvme device
timeoutTimeout in ms
data_lenLength of data
tasTask field of the Command Dword 10 (cdw10)
-
struct nvme_lm_cdq_args¶
Arguments for Controller Data Queue (CDQ) command
Definition
struct nvme_lm_cdq_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u16 mos;
__u16 cntlid;
__u16 cdqid;
__u8 sel;
__u8 sz_u8;
__u8 rsvd1[4];
__u32 sz;
};
Members
resultSet on completion to the command’s CQE DWORD 0 controller response
dataPointer to data
args_sizeLength of structure
fdFile descriptor of nvme device
timeoutTimeout in ms
mosManagement Operation Specific (MOS): This field is specific to the SEL type
cntlidController ID: For Create CDQ, specifies the target migratable controller
cdqidController Data Queue ID (CDQID): For Create CDQ, this field is the CDQID created by the controller if no error is present. For Delete CDQ, this field is the CDQID to delete.
selSelect (SEL): This field specifies the type of management operation to perform.
sz_u8For Create CDQ, specifies the size of CDQ, in dwords - 1 byte
rsvd1Reserved
szFor Create CDQ, specifies the size of CDQ, in dwords - 4 byte
-
struct nvme_lm_track_send_args¶
Arguments for the Track Send command
Definition
struct nvme_lm_track_send_args {
__u32 *result;
int args_size;
int fd;
__u32 timeout;
__u16 mos;
__u16 cdqid;
__u8 sel;
};
Members
resultSet on completion to the command’s CQE DWORD 0 controller response
args_sizeLength of structure
fdFile descriptor of nvme device
timeoutTimeout in ms
mosManagement Operation Specific (MOS): This field is specific to the SEL type
cdqidController Data Queue ID (CDQID)
selSelect (SEL): This field specifies the type of management operation to perform
-
struct nvme_lm_migration_send_args¶
Arguments for the Migration Send command
Definition
struct nvme_lm_migration_send_args {
__u64 offset;
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 numd;
__u16 mos;
__u16 cntlid;
__u16 csuuidi;
__u8 sel;
__u8 uidx;
__u8 stype;
__u8 seqind;
__u8 csvi;
bool dudmq;
};
Members
offsetOffset: This field specifies the offset, in bytes, within the data available to be returned and specifies the starting point for that data for what is actually returned to the host.
resultSet on completion to the command’s CQE DWORD 0 controller response
dataPointer to data
args_sizeLength of structure
fdFile descriptor of nvme device
timeoutTimeout in ms
numdNumber of Dwords (NUMD): This field specifies the number of dwords being transferred
mosManagement Operation Specific (MOS): This field is specific to the SEL type
cntlidController ID: This field specifies the identifier of the controller to which the operation is performed.
csuuidiController State UUID Index (CSUUIDI): A non-zero value in this field specifies the index to a specific entry in the Vendor Specific Controller State UUID Supported. list of the Supported Controller State Formats data structure.
selSelect (SEL): This field specifies the type of management operation to perform.
uidxUUID Index (UIDX): If this field is set to a non-zero value, then the value of this field is the index of a UUID in the UUID List (refer to Figure 320) that is used by the command.
stypeSuspend Type (STYPE): This field specifies the type of suspend.
seqindSequence Identifier (SEQIND): This field identified the sequences of this Migration Send command in relation to other Migration Send commands.
csviController State Version Index (CSVI): A non-zero value in this field specifies the index to a specific entry in the NVMe Controller State Version list of the Supported Controller State Formats data structure.
dudmqDelete User Data Migration Queue (DUDMQ): If set, the migration queue is deleted is deleted as part of the Suspend operation. If cleared, it is retained.
-
struct nvme_lm_migration_recv_args¶
Arguments for the Migration Receive command
Definition
struct nvme_lm_migration_recv_args {
__u64 offset;
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 numd;
__u16 mos;
__u16 cntlid;
__u16 csuuidi;
__u8 sel;
__u8 uidx;
__u8 csuidxp;
};
Members
offsetOffset: This field specifies the offset, in bytes, within the data available to be returned and specifies the starting point for that data for what is actually returned to the host.
resultSet on completion to the command’s CQE DWORD 0 controller response
dataPointer to data
args_sizeLength of structure
fdFile descriptor of nvme device
timeoutTimeout in ms
numdNumber of Dwords (NUMD): This field specifies the number of dwords to return. This is a 0’s based value.
mosManagement Operation Specific (MOS): This field is specific to the SEL type
cntlidController ID: This field specifies the identifier of the controller to which the operation is performed.
csuuidiController State UUID Index (CSUUIDI): A non-zero value in this field specifies the index to a specific entry in the Vendor Specific Controller State UUID Supported. list of the Supported Controller State Formats data structure.
selSelect (SEL): This field specifies the type of management operation to perform
uidxUUID Index (UIDX): If this field is set to a non-zero value, then the value of this field is the index of a UUID in the UUID List (refer to Figure 320) that is used by the command.
csuidxpController State UUID Index Parameter (CSUIDXP): This field is vendor specific.