52
static void virtio_scsi_data_plane_handle_cmd(VirtIODevice *vdev,
52
static bool virtio_scsi_data_plane_handle_cmd(VirtIODevice *vdev,
55
VirtIOSCSI *s = (VirtIOSCSI *)vdev;
56
VirtIOSCSI *s = VIRTIO_SCSI(vdev);
58
virtio_scsi_acquire(s);
57
59
assert(s->ctx && s->dataplane_started);
58
virtio_scsi_handle_cmd_vq(s, vq);
60
progress = virtio_scsi_handle_cmd_vq(s, vq);
61
virtio_scsi_release(s);
61
static void virtio_scsi_data_plane_handle_ctrl(VirtIODevice *vdev,
65
static bool virtio_scsi_data_plane_handle_ctrl(VirtIODevice *vdev,
64
69
VirtIOSCSI *s = VIRTIO_SCSI(vdev);
71
virtio_scsi_acquire(s);
66
72
assert(s->ctx && s->dataplane_started);
67
virtio_scsi_handle_ctrl_vq(s, vq);
73
progress = virtio_scsi_handle_ctrl_vq(s, vq);
74
virtio_scsi_release(s);
70
static void virtio_scsi_data_plane_handle_event(VirtIODevice *vdev,
78
static bool virtio_scsi_data_plane_handle_event(VirtIODevice *vdev,
73
82
VirtIOSCSI *s = VIRTIO_SCSI(vdev);
84
virtio_scsi_acquire(s);
75
85
assert(s->ctx && s->dataplane_started);
76
virtio_scsi_handle_event_vq(s, vq);
86
progress = virtio_scsi_handle_event_vq(s, vq);
87
virtio_scsi_release(s);
79
91
static int virtio_scsi_vring_init(VirtIOSCSI *s, VirtQueue *vq, int n,
80
void (*fn)(VirtIODevice *vdev, VirtQueue *vq))
92
VirtIOHandleAIOOutput fn)
82
94
BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(s)));