diff options
author | Matthew Wilcox <matthew.r.wilcox@intel.com> | 2011-02-01 16:13:29 -0500 |
---|---|---|
committer | Matthew Wilcox <matthew.r.wilcox@intel.com> | 2011-11-04 15:52:53 -0400 |
commit | a53295b6998f62d961c29e54051c1cf1d738c2b3 (patch) | |
tree | 835a6f4ecbb8de47c232d7a1c5b4f76292d4dc24 /include/linux/nvme.h | |
parent | 7fc3cdabba75c2516b8b645eb0ca7907aea70415 (diff) | |
download | op-kernel-dev-a53295b6998f62d961c29e54051c1cf1d738c2b3.zip op-kernel-dev-a53295b6998f62d961c29e54051c1cf1d738c2b3.tar.gz |
NVMe: Add NVME_IOCTL_SUBMIT_IO
Allow userspace to submit synchronous I/O like the SCSI sg interface does.
Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
Diffstat (limited to 'include/linux/nvme.h')
-rw-r--r-- | include/linux/nvme.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/nvme.h b/include/linux/nvme.h index 1c0b5ef..0aaecb0 100644 --- a/include/linux/nvme.h +++ b/include/linux/nvme.h @@ -340,8 +340,26 @@ struct nvme_completion { __le16 status; /* did the command fail, and if so, why? */ }; +struct nvme_user_io { + __u8 opcode; + __u8 flags; + __u16 control; + __u32 nsid; + __u64 metadata; + __u64 addr; + __u64 slba; + __u16 nblocks; + __u16 block_shift; + __u32 dsmgmt; + __u32 reftag; + __u16 apptag; + __u16 appmask; + __u32 result; +}; + #define NVME_IOCTL_IDENTIFY_NS _IOW('N', 0x40, struct nvme_id_ns) #define NVME_IOCTL_IDENTIFY_CTRL _IOW('N', 0x41, struct nvme_id_ctrl) #define NVME_IOCTL_GET_RANGE_TYPE _IOW('N', 0x42, struct nvme_lba_range_type) +#define NVME_IOCTL_SUBMIT_IO _IOWR('N', 0x43, struct nvme_rw_command) #endif /* _LINUX_NVME_H */ |