summaryrefslogtreecommitdiff
path: root/include/linux/nvme.h
diff options
context:
space:
mode:
authorMatthew Wilcox <matthew.r.wilcox@intel.com>2011-02-02 00:13:29 +0300
committerMatthew Wilcox <matthew.r.wilcox@intel.com>2011-11-04 23:52:53 +0400
commita53295b6998f62d961c29e54051c1cf1d738c2b3 (patch)
tree835a6f4ecbb8de47c232d7a1c5b4f76292d4dc24 /include/linux/nvme.h
parent7fc3cdabba75c2516b8b645eb0ca7907aea70415 (diff)
downloadlinux-a53295b6998f62d961c29e54051c1cf1d738c2b3.tar.xz
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.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/nvme.h b/include/linux/nvme.h
index 1c0b5ef08959..0aaecb059d14 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 */