From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Cornelia Huck <cornelia.huck@de.ibm.com>
Subject: [Qemu-devel] [PULL 10/15] virtio-scsi: fix disabled mode
Date: Fri, 8 Apr 2016 11:02:38 +0300 [thread overview]
Message-ID: <1460102154-16096-11-git-send-email-mst@redhat.com> (raw)
In-Reply-To: <1460102154-16096-1-git-send-email-mst@redhat.com>
From: Paolo Bonzini <pbonzini@redhat.com>
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 <cornelia.huck@de.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
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
next prev parent reply other threads:[~2016-04-08 8:02 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-08 8:02 [Qemu-devel] [PULL 00/15] pci, virtio, acpi: fixes for 2.6 Michael S. Tsirkin
2016-04-08 8:02 ` [Qemu-devel] [PULL 01/15] acpi: Add missing GCC_FMT_ATTR Michael S. Tsirkin
2016-04-08 8:02 ` [Qemu-devel] [PULL 02/15] pci-testdev: fast mmio support Michael S. Tsirkin
2016-04-08 8:02 ` [Qemu-devel] [PULL 03/15] xen: piix reuse pci generic class init function Michael S. Tsirkin
2016-04-08 8:02 ` [Qemu-devel] [PULL 04/15] Sort the fw_cfg file list Michael S. Tsirkin
2016-04-08 8:02 ` [Qemu-devel] [PULL 05/15] Migration: Add i82801b11 migration data Michael S. Tsirkin
2016-04-08 8:02 ` [Qemu-devel] [PULL 06/15] virtio-balloon: reset the statistic timer to load device Michael S. Tsirkin
2016-04-08 8:02 ` [Qemu-devel] [PULL 07/15] tests/bios-tables-test: fix assert Michael S. Tsirkin
2016-04-08 8:02 ` [Qemu-devel] [PULL 08/15] virtio: make virtio_queue_notify_vq static Michael S. Tsirkin
2016-04-08 8:02 ` [Qemu-devel] [PULL 09/15] virtio-blk: fix disabled mode Michael S. Tsirkin
2016-04-08 8:02 ` Michael S. Tsirkin [this message]
2016-04-08 8:02 ` [Qemu-devel] [PULL 11/15] virtio: add aio handler Michael S. Tsirkin
2016-04-08 8:02 ` [Qemu-devel] [PULL 12/15] virtio-blk: use aio handler for data plane Michael S. Tsirkin
2016-04-08 8:02 ` [Qemu-devel] [PULL 13/15] virtio-scsi: " Michael S. Tsirkin
2016-04-08 8:02 ` [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 8:02 ` [Qemu-devel] [PULL 15/15] hw/pci-bridge: Add missing unref in case register-bus fails Michael S. Tsirkin
2016-04-08 12:45 ` [Qemu-devel] [PULL 00/15] pci, virtio, acpi: fixes for 2.6 Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1460102154-16096-11-git-send-email-mst@redhat.com \
--to=mst@redhat.com \
--cc=cornelia.huck@de.ibm.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).