[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 8/8] dataplane: support viostor virtio-pci status bi
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH 8/8] dataplane: support viostor virtio-pci status bit setting |
Date: |
Fri, 18 Jan 2013 17:28:41 +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] [PULL for-1.4 0/8] Block patches, Stefan Hajnoczi, 2013/01/18
- [Qemu-devel] [PATCH 2/8] ide: Remove wrong assertion, Stefan Hajnoczi, 2013/01/18
- [Qemu-devel] [PATCH 1/8] block: fix null-pointer bug on error case in block commit, Stefan Hajnoczi, 2013/01/18
- [Qemu-devel] [PATCH 4/8] win32-aio: Fix vectored reads, Stefan Hajnoczi, 2013/01/18
- [Qemu-devel] [PATCH 5/8] win32-aio: Fix memory leak, Stefan Hajnoczi, 2013/01/18
- [Qemu-devel] [PATCH 6/8] win32-aio: use iov utility functions instead of open-coding them, Stefan Hajnoczi, 2013/01/18
- [Qemu-devel] [PATCH 3/8] aio: Fix return value of aio_poll(), Stefan Hajnoczi, 2013/01/18
- [Qemu-devel] [PATCH 7/8] dataplane: avoid reentrancy during virtio_blk_data_plane_stop(), Stefan Hajnoczi, 2013/01/18
- [Qemu-devel] [PATCH 8/8] dataplane: support viostor virtio-pci status bit setting,
Stefan Hajnoczi <=
- Re: [Qemu-devel] [PULL for-1.4 0/8] Block patches, Anthony Liguori, 2013/01/20