struct nvme_uring_cmd - nvme uring command structure
struct nvme_uring_cmd {
__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;
};
- 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