nvme_passthru_cmd64 - Man Page
64-bit nvme passthrough command structure
Synopsis
struct nvme_passthru_cmd64 {
__u8 opcode;
__u8 flags;
__u16 rsvd1;
__u32 nsid;
__u32 cdw2;
__u32 cdw3;
__u64 metadata;
__u64 addr;
__u32 metadata_len;
__u32 data_len;
__u32 cdw10;
__u32 cdw11;
__u32 cdw12;
__u32 cdw13;
__u32 cdw14;
__u32 cdw15;
__u32 timeout_ms;
__u32 rsvd2;
__u64 result;
};
Members
- opcode
Operation code, see enum nvme_io_opcodes and enum nvme_admin_opcodes
- flags
Not supported: intended for command flags (eg: SGL, FUSE)
- rsvd1
Reserved for future use
- nsid
Namespace Identifier, or Fabrics type
- cdw2
Command Dword 2 (no spec defined use)
- cdw3
Command Dword 3 (no spec defined use)
- metadata
User space address to metadata buffer (NULL if not used)
- addr
User space address to data buffer (NULL if not used)
- metadata_len
Metadata buffer transfer length
- data_len
Data buffer transfer length
- cdw10
Command Dword 10 (command specific)
- cdw11
Command Dword 11 (command specific)
- cdw12
Command Dword 12 (command specific)
- cdw13
Command Dword 13 (command specific)
- cdw14
Command Dword 14 (command specific)
- cdw15
Command Dword 15 (command specific)
- timeout_ms
If non-zero, overrides system default timeout in milliseconds
- rsvd2
Reserved for future use (and fills an implicit struct pad
- result
Set on completion to the command's CQE DWORD 0-1 controller response