[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 10/15] virtio-scsi: fix disabled mode
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL 10/15] virtio-scsi: fix disabled mode |
Date: |
Fri, 8 Apr 2016 11:02:38 +0300 |
From: Paolo Bonzini <address@hidden>
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>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
include/hw/virtio/virtio-scsi.h | 1 -
hw/scsi/virtio-scsi.c | 4 ++--
2 files changed, 2 insertions(+), 3 deletions(-)
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;
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)) {
--
MST
- [Qemu-devel] [PULL 00/15] pci, virtio, acpi: fixes for 2.6, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 01/15] acpi: Add missing GCC_FMT_ATTR, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 02/15] pci-testdev: fast mmio support, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 04/15] Sort the fw_cfg file list, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 03/15] xen: piix reuse pci generic class init function, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 05/15] Migration: Add i82801b11 migration data, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 06/15] virtio-balloon: reset the statistic timer to load device, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 07/15] tests/bios-tables-test: fix assert, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 08/15] virtio: make virtio_queue_notify_vq static, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 09/15] virtio-blk: fix disabled mode, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 10/15] virtio-scsi: fix disabled mode,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL 11/15] virtio: add aio handler, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 13/15] virtio-scsi: use aio handler for data plane, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 15/15] hw/pci-bridge: Add missing unref in case register-bus fails, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 12/15] virtio-blk: use aio handler for data plane, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 14/15] virtio: merge virtio_queue_aio_set_host_notifier_handler with virtio_queue_set_aio, Michael S. Tsirkin, 2016/04/08
- Re: [Qemu-devel] [PULL 00/15] pci, virtio, acpi: fixes for 2.6, Peter Maydell, 2016/04/08