aboutsummaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorLinus Torvalds2013-05-02 13:29:14 -0700
committerLinus Torvalds2013-05-02 13:29:14 -0700
commite95893004104054d49406fd108fefa3ddc054366 (patch)
tree9bf38e91f4767d9842ba32839eda28a1ac1a971a /include/uapi
parent5a148af66932c31814e263366094b5812210b501 (diff)
parent181c04a357bb791587c55a99362c2fdde2c64f18 (diff)
Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
Pull vhost cleanups and fixes from Michael Tsirkin: "Here are vhost cleanups and fixes by Asias He and myself. They affect both vhost-net and vhost-scsi devices. They also *depend* on both net-next and target-pending, where the net and target commits these changes depend on are already merged. So merging through the common vhost tree." * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: vhost_scsi: module rename tcm_vhost: header split up vhost: src file renames vhost: fix error handling in RESET_OWNER ioctl tcm_vhost: remove virtio-net.h dependency vhost: move per-vq net specific fields out to net tcm_vhost: document inflight ref-counting use vhost: move vhost-net zerocopy fields to net.c tcm_vhost: Wait for pending requests in vhost_scsi_flush() vhost: Allow device specific fields per vq
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/vhost.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/uapi/linux/vhost.h b/include/uapi/linux/vhost.h
index e847f1e30756..bb6a5b4cb3c5 100644
--- a/include/uapi/linux/vhost.h
+++ b/include/uapi/linux/vhost.h
@@ -127,4 +127,32 @@ struct vhost_memory {
/* vhost-net should add virtio_net_hdr for RX, and strip for TX packets. */
#define VHOST_NET_F_VIRTIO_NET_HDR 27
+/* VHOST_SCSI specific definitions */
+
+/*
+ * Used by QEMU userspace to ensure a consistent vhost-scsi ABI.
+ *
+ * ABI Rev 0: July 2012 version starting point for v3.6-rc merge candidate +
+ * RFC-v2 vhost-scsi userspace. Add GET_ABI_VERSION ioctl usage
+ * ABI Rev 1: January 2013. Ignore vhost_tpgt filed in struct vhost_scsi_target.
+ * All the targets under vhost_wwpn can be seen and used by guset.
+ */
+
+#define VHOST_SCSI_ABI_VERSION 1
+
+struct vhost_scsi_target {
+ int abi_version;
+ char vhost_wwpn[224]; /* TRANSPORT_IQN_LEN */
+ unsigned short vhost_tpgt;
+ unsigned short reserved;
+};
+
+#define VHOST_SCSI_SET_ENDPOINT _IOW(VHOST_VIRTIO, 0x40, struct vhost_scsi_target)
+#define VHOST_SCSI_CLEAR_ENDPOINT _IOW(VHOST_VIRTIO, 0x41, struct vhost_scsi_target)
+/* Changing this breaks userspace. */
+#define VHOST_SCSI_GET_ABI_VERSION _IOW(VHOST_VIRTIO, 0x42, int)
+/* Set and get the events missed flag */
+#define VHOST_SCSI_SET_EVENTS_MISSED _IOW(VHOST_VIRTIO, 0x43, __u32)
+#define VHOST_SCSI_GET_EVENTS_MISSED _IOW(VHOST_VIRTIO, 0x44, __u32)
+
#endif