Commit b7de81f6 authored by Halil Pasic's avatar Halil Pasic Committed by Michael S. Tsirkin
Browse files

virtio-rng: convert VMSTATE_VIRTIO_DEVICE



Use the new VMSTATE_VIRTIO_DEVICE macro.

Signed-off-by: default avatarHalil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent c5dc16b7
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -9,6 +9,8 @@
 * top-level directory.
 */

#define VMSTATE_VIRTIO_DEVICE_USE_NEW

#include "qemu/osdep.h"
#include "qapi/error.h"
#include "qemu/iov.h"
@@ -120,15 +122,9 @@ static uint64_t get_features(VirtIODevice *vdev, uint64_t f, Error **errp)
    return f;
}

static int virtio_rng_load(QEMUFile *f, void *opaque, size_t size)
static int virtio_rng_post_load(void *opaque, int version_id)
{
    VirtIORNG *vrng = opaque;
    int ret;

    ret = virtio_load(VIRTIO_DEVICE(vrng), f, 1);
    if (ret != 0) {
        return ret;
    }

    /* We may have an element ready but couldn't process it due to a quota
     * limit.  Make sure to try again after live migration when the quota may
@@ -216,7 +212,16 @@ static void virtio_rng_device_unrealize(DeviceState *dev, Error **errp)
    virtio_cleanup(vdev);
}

VMSTATE_VIRTIO_DEVICE(rng, 1, virtio_rng_load, virtio_vmstate_save);
static const VMStateDescription vmstate_virtio_rng = {
    .name = "virtio-rng",
    .minimum_version_id = 1,
    .version_id = 1,
    .fields = (VMStateField[]) {
        VMSTATE_VIRTIO_DEVICE,
        VMSTATE_END_OF_LIST()
    },
    .post_load =  virtio_rng_post_load,
};

static Property virtio_rng_properties[] = {
    /* Set a default rate limit of 2^47 bytes per minute or roughly 2TB/s.  If