qemu/hw/virtio
Ladi Prosek 4a1e48beca virtio-balloon: fix stats vq migration
The statistics virtqueue is not migrated properly because virtio-balloon
does not include s->stats_vq_elem in the migration stream.

After migration the statistics virtqueue hangs because the host never
completes the last element (s->stats_vq_elem is NULL on the destination
QEMU).  Therefore the guest never submits new elements and the virtqueue
is hung.

Instead of changing the migration stream format in an incompatible way,
detect the migration case and rewind the virtqueue so the last element
can be completed.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Roman Kagan <rkagan@virtuozzo.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Suggested-by: Roman Kagan <rkagan@virtuozzo.com>
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2016-09-09 20:58:34 +03:00
..
Makefile.objs vring: remove 2016-02-25 13:14:19 +02:00
trace-events trace-events: fix first line comment in trace-events 2016-08-12 10:36:01 +01:00
vhost-backend.c Use #include "..." for our own headers, <...> for others 2016-07-12 16:19:16 +02:00
vhost-user.c Revert "vhost-user: Attempt to fix a race with set_mem_table." 2016-08-15 15:12:21 +01:00
vhost.c vhost: do not update last avail idx on get_vring_base() failure 2016-07-29 05:47:17 +03:00
virtio-balloon.c virtio-balloon: fix stats vq migration 2016-09-09 20:58:34 +03:00
virtio-bus.c virtio: Tell the user what went wrong when event_notifier_init failed 2016-09-09 20:58:34 +03:00
virtio-mmio.c virtio-mmio: format transport base address in BusClass.get_dev_path 2016-07-14 16:51:36 +01:00
virtio-pci.c virtio-pci: reduce modern_mem_bar size 2016-09-09 20:58:34 +03:00
virtio-pci.h virtio-pci: reduce modern_mem_bar size 2016-09-09 20:58:34 +03:00
virtio-rng.c virtio-rng: Wrap in vmstate 2016-07-21 20:44:20 +03:00
virtio.c virtio: add virtqueue_rewind() 2016-09-09 20:58:34 +03:00