virtio: recalculate vq->inuse after migration
authorStefan Hajnoczi <stefanha@redhat.com>
Mon, 15 Aug 2016 12:54:15 +0000 (13:54 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 23 Aug 2016 16:20:10 +0000 (19:20 +0300)
commitbccdef6b1a204db0f41ffb6e24ce373e4d7890d4
tree1472d6b917593c467287fbc7436490381fd9ff81
parent6bbbb0ac136102098a70b97ab0c07bc7bf53131c
virtio: recalculate vq->inuse after migration

The vq->inuse field is not migrated.  Many devices don't hold
VirtQueueElements across migration so it doesn't matter that vq->inuse
starts at 0 on the destination QEMU.

At least virtio-serial, virtio-blk, and virtio-balloon migrate while
holding VirtQueueElements.  For these devices we need to recalculate
vq->inuse upon load so the value is correct.

Cc: qemu-stable@nongnu.org
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio/virtio.c