table of contents
        
      
      
    | nvme_io_passthru(9) | libnvme API manual | nvme_io_passthru(9) | 
NAME¶
nvme_io_passthru - Submit an nvme io passthrough command
SYNOPSIS¶
int nvme_io_passthru (int fd , __u8 opcode , __u8 flags , __u16 rsvd , __u32 nsid , __u32 cdw2 , __u32 cdw3 , __u32 cdw10 , __u32 cdw11 , __u32 cdw12 , __u32 cdw13 , __u32 cdw14 , __u32 cdw15 , __u32 data_len , void *data , __u32 metadata_len , void *metadata , __u32 timeout_ms , __u32 *result );
ARGUMENTS¶
- fd
 - File descriptor of nvme device
 - opcode
 - The nvme io command to send
 - flags
 - NVMe command flags (not used)
 - rsvd
 - Reserved for future use
 - nsid
 - Namespace identifier
 - cdw2
 - Command dword 2
 - cdw3
 - Command dword 3
 - cdw10
 - Command dword 10
 - cdw11
 - Command dword 11
 - cdw12
 - Command dword 12
 - cdw13
 - Command dword 13
 - cdw14
 - Command dword 14
 - cdw15
 - Command dword 15
 - data_len
 - Length of the data transferred in this command in bytes
 - data
 - Pointer to user address of the data buffer
 - metadata_len
 - Length of metadata transferred in this command
 - metadata
 - Pointer to user address of the metadata buffer
 - timeout_ms
 - How long the kernel waits for the command to complete
 - result
 - Optional field to return the result from the CQE dword 0
 
DESCRIPTION¶
Parameterized form of nvme_submit_io_passthru. This sets up and submits a struct nvme_passthru_cmd.
Known values for opcode are defined in enum nvme_io_opcode.
RETURN¶
The nvme command status if a response was received (see enum nvme_status_field) or -1 with errno set otherwise.
| nvme_io_passthru | February 2024 |