* [Qemu-devel] [PATCH] virtio-net: stop vhost backend on vmstop
@ 2010-06-02 8:44 Michael S. Tsirkin
0 siblings, 0 replies; only message in thread
From: Michael S. Tsirkin @ 2010-06-02 8:44 UTC (permalink / raw)
To: qemu-devel, Anthony Liguori, dlstevens
vhost net currently keep running after vmstop,
which causes trouble as qemy does not check
for dirty pages anymore.
The fix is to simply keep vm and vhost running/stopped
status in sync.
Tested-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/virtio-net.c | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/hw/virtio-net.c b/hw/virtio-net.c
index cb664e6..6a9d560 100644
--- a/hw/virtio-net.c
+++ b/hw/virtio-net.c
@@ -877,12 +877,11 @@ static void virtio_net_set_status(struct VirtIODevice *vdev, uint8_t status)
static void virtio_net_vmstate_change(void *opaque, int running, int reason)
{
VirtIONet *n = opaque;
- if (!running) {
- return;
- }
- /* This is called when vm is started, it will start vhost backend if
- * appropriate e.g. after migration. */
- virtio_net_set_status(&n->vdev, n->vdev.status);
+ uint8_t status = running ? VIRTIO_CONFIG_S_DRIVER_OK : 0;
+ /* This is called when vm is started/stopped,
+ * it will start/stop vhost backend if appropriate
+ * e.g. after migration. */
+ virtio_net_set_status(&n->vdev, n->vdev.status & status);
}
VirtIODevice *virtio_net_init(DeviceState *dev, NICConf *conf)
--
1.7.1.12.g42b7f
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2010-06-02 9:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-02 8:44 [Qemu-devel] [PATCH] virtio-net: stop vhost backend on vmstop Michael S. Tsirkin
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).