[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 03/14] virtio-scsi: Add VirtIOSCSIVring in VirtIO
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [PATCH v4 03/14] virtio-scsi: Add VirtIOSCSIVring in VirtIOSCSIReq |
Date: |
Wed, 24 Sep 2014 15:21:41 +0800 |
Move VirtIOSCSIReq to header and add one field "vring" as a wrapper
structure of Vring, VirtIOSCSIVring.
This is necessary for coming dataplane code that runs uses vring on
iothread.
Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
include/hw/virtio/virtio-scsi.h | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index b91d326..848a1d3 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -17,6 +17,8 @@
#include "hw/virtio/virtio.h"
#include "hw/pci/pci.h"
#include "hw/scsi/scsi.h"
+#include "sysemu/iothread.h"
+#include "hw/virtio/dataplane/vring.h"
#define TYPE_VIRTIO_SCSI_COMMON "virtio-scsi-common"
#define VIRTIO_SCSI_COMMON(obj) \
@@ -153,6 +155,15 @@ struct VirtIOSCSIConf {
char *wwpn;
};
+struct VirtIOSCSICommon;
+
+typedef struct {
+ struct VirtIOSCSICommon *parent;
+ Vring vring;
+ EventNotifier host_notifier;
+ EventNotifier guest_notifier;
+} VirtIOSCSIVring;
+
typedef struct VirtIOSCSICommon {
VirtIODevice parent_obj;
VirtIOSCSIConf conf;
@@ -185,6 +196,8 @@ typedef struct VirtIOSCSIReq {
* */
VirtQueueElement elem;
+ /* Set by dataplane code. */
+ VirtIOSCSIVring *vring;
SCSIRequest *sreq;
size_t resp_size;
enum SCSIXferMode mode;
--
1.9.3
- [Qemu-devel] [PATCH v4 00/14] virtio-scsi: Dataplane on single iothread, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 01/14] virtio-scsi: Split virtio_scsi_handle_cmd_req from virtio_scsi_handle_cmd, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 02/14] virtio-scsi: Split virtio_scsi_handle_ctrl_req from virtio_scsi_handle_ctrl, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 03/14] virtio-scsi: Add VirtIOSCSIVring in VirtIOSCSIReq,
Fam Zheng <=
- [Qemu-devel] [PATCH v4 04/14] virtio-scsi: Make virtio_scsi_init_req public, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 05/14] virtio-scsi: Make virtio_scsi_free_req public, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 06/14] virtio-scsi: Make virtio_scsi_push_event public, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 07/14] virtio-scsi: Add 'iothread' property to virtio-scsi-pci, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 08/14] virtio-scsi-dataplane: Code to run virtio-scsi on iothread, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 09/14] virtio-scsi: Hook up with dataplane, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 10/14] virtio-scsi: Add migration state notifier for dataplane code, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 11/14] virtio-scsi: Two stages processing of cmd request, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 12/14] virtio-scsi: Batched prepare for cmd reqs, Fam Zheng, 2014/09/24
- [Qemu-devel] [PATCH v4 13/14] virtio-scsi: Call bdrv_io_plug/bdrv_io_unplug in cmd request handling, Fam Zheng, 2014/09/24