[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] dataplane: support viostor virtio-pci status bit se
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH] dataplane: support viostor virtio-pci status bit setting |
Date: |
Thu, 17 Jan 2013 16:46:54 +0100 |
The viostor virtio-blk driver for Windows does not use the
VIRTIO_CONFIG_S_DRIVER bit. It only sets the VIRTIO_CONFIG_S_DRIVER_OK
bit.
The viostor driver refreshes the virtio-pci status byte sometimes while
the guest is running. We misinterpret 0x4 (VIRTIO_CONFIG_S_DRIVER_OK)
as an indication that virtio-blk-data-plane should be stopped since 0x2
(VIRTIO_CONFIG_S_DRIVER) is missing. The result is that the device
becomes unresponsive.
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
hw/virtio-blk.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
index df57b35..34913ee 100644
--- a/hw/virtio-blk.c
+++ b/hw/virtio-blk.c
@@ -571,7 +571,8 @@ static void virtio_blk_set_status(VirtIODevice *vdev,
uint8_t status)
uint32_t features;
#ifdef CONFIG_VIRTIO_BLK_DATA_PLANE
- if (s->dataplane && !(status & VIRTIO_CONFIG_S_DRIVER)) {
+ if (s->dataplane && !(status & (VIRTIO_CONFIG_S_DRIVER |
+ VIRTIO_CONFIG_S_DRIVER_OK))) {
virtio_blk_data_plane_stop(s->dataplane);
}
#endif
--
1.8.0.2
- [Qemu-devel] [PATCH] dataplane: support viostor virtio-pci status bit setting,
Stefan Hajnoczi <=