[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/7] virtio-scsi: fix disabled mode
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 3/7] virtio-scsi: fix disabled mode |
Date: |
Wed, 6 Apr 2016 12:16:24 +0200 |
Add two missing checks for s->dataplane_fenced. In one case, QEMU
would skip injecting an IRQ due to a write to an uninitialized
EventNotifier's file descriptor.
In the second case, the dataplane_disabled field was used by mistake;
in fact after fixing this occurrence it is completely unused.
Reviewed-by: Cornelia Huck <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
hw/scsi/virtio-scsi.c | 4 ++--
include/hw/virtio/virtio-scsi.h | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index ade4972..38f1e2c 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -68,7 +68,7 @@ static void virtio_scsi_complete_req(VirtIOSCSIReq *req)
qemu_iovec_from_buf(&req->resp_iov, 0, &req->resp, req->resp_size);
virtqueue_push(vq, &req->elem, req->qsgl.size + req->resp_iov.size);
- if (s->dataplane_started) {
+ if (s->dataplane_started && !s->dataplane_fenced) {
virtio_scsi_dataplane_notify(vdev, req);
} else {
virtio_notify(vdev, vq);
@@ -773,7 +773,7 @@ static void virtio_scsi_hotplug(HotplugHandler
*hotplug_dev, DeviceState *dev,
VirtIOSCSI *s = VIRTIO_SCSI(vdev);
SCSIDevice *sd = SCSI_DEVICE(dev);
- if (s->ctx && !s->dataplane_disabled) {
+ if (s->ctx && !s->dataplane_fenced) {
VirtIOSCSIBlkChangeNotifier *insert_notifier, *remove_notifier;
if (blk_op_is_blocked(sd->conf.blk, BLOCK_OP_TYPE_DATAPLANE, errp)) {
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index 209eaa4..eef4e95 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -91,7 +91,6 @@ typedef struct VirtIOSCSI {
bool dataplane_started;
bool dataplane_starting;
bool dataplane_stopping;
- bool dataplane_disabled;
bool dataplane_fenced;
Error *blocker;
uint32_t host_features;
--
1.8.3.1
- [Qemu-devel] [PATCH v3 0/7] virtio: aio handler API, Paolo Bonzini, 2016/04/06
- [Qemu-devel] [PATCH 3/7] virtio-scsi: fix disabled mode,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 6/7] virtio-scsi: use aio handler for data plane, Paolo Bonzini, 2016/04/06
- [Qemu-devel] [PATCH 1/7] virtio: make virtio_queue_notify_vq static, Paolo Bonzini, 2016/04/06
- [Qemu-devel] [PATCH 5/7] virtio-blk: use aio handler for data plane, Paolo Bonzini, 2016/04/06
- [Qemu-devel] [PATCH 7/7] virtio: merge virtio_queue_aio_set_host_notifier_handler with virtio_queue_set_aio, Paolo Bonzini, 2016/04/06
- Re: [Qemu-devel] [PATCH v3 0/7] virtio: aio handler API, Cornelia Huck, 2016/04/06
- Re: [Qemu-devel] [PATCH v3 0/7] virtio: aio handler API, Christian Borntraeger, 2016/04/07
- Re: [Qemu-devel] [PATCH v3 0/7] virtio: aio handler API, Christian Borntraeger, 2016/04/07