mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-28 14:00:44 +00:00
virtio/migration: Migrate balloon to VMState
Replace the load/save with a vmsd. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
ea43e25987
commit
019518a80e
@ -394,21 +394,9 @@ static void virtio_balloon_to_target(void *opaque, ram_addr_t target)
|
|||||||
trace_virtio_balloon_to_target(target, dev->num_pages);
|
trace_virtio_balloon_to_target(target, dev->num_pages);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void virtio_balloon_save_device(VirtIODevice *vdev, QEMUFile *f)
|
static int virtio_balloon_post_load_device(void *opaque, int version_id)
|
||||||
{
|
{
|
||||||
VirtIOBalloon *s = VIRTIO_BALLOON(vdev);
|
VirtIOBalloon *s = VIRTIO_BALLOON(opaque);
|
||||||
|
|
||||||
qemu_put_be32(f, s->num_pages);
|
|
||||||
qemu_put_be32(f, s->actual);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int virtio_balloon_load_device(VirtIODevice *vdev, QEMUFile *f,
|
|
||||||
int version_id)
|
|
||||||
{
|
|
||||||
VirtIOBalloon *s = VIRTIO_BALLOON(vdev);
|
|
||||||
|
|
||||||
s->num_pages = qemu_get_be32(f);
|
|
||||||
s->actual = qemu_get_be32(f);
|
|
||||||
|
|
||||||
if (balloon_stats_enabled(s)) {
|
if (balloon_stats_enabled(s)) {
|
||||||
balloon_stats_change_timer(s, s->stats_poll_interval);
|
balloon_stats_change_timer(s, s->stats_poll_interval);
|
||||||
@ -416,6 +404,18 @@ static int virtio_balloon_load_device(VirtIODevice *vdev, QEMUFile *f,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const VMStateDescription vmstate_virtio_balloon_device = {
|
||||||
|
.name = "virtio-balloon-device",
|
||||||
|
.version_id = 1,
|
||||||
|
.minimum_version_id = 1,
|
||||||
|
.post_load = virtio_balloon_post_load_device,
|
||||||
|
.fields = (VMStateField[]) {
|
||||||
|
VMSTATE_UINT32(num_pages, VirtIOBalloon),
|
||||||
|
VMSTATE_UINT32(actual, VirtIOBalloon),
|
||||||
|
VMSTATE_END_OF_LIST()
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
static void virtio_balloon_device_realize(DeviceState *dev, Error **errp)
|
static void virtio_balloon_device_realize(DeviceState *dev, Error **errp)
|
||||||
{
|
{
|
||||||
VirtIODevice *vdev = VIRTIO_DEVICE(dev);
|
VirtIODevice *vdev = VIRTIO_DEVICE(dev);
|
||||||
@ -517,9 +517,8 @@ static void virtio_balloon_class_init(ObjectClass *klass, void *data)
|
|||||||
vdc->get_config = virtio_balloon_get_config;
|
vdc->get_config = virtio_balloon_get_config;
|
||||||
vdc->set_config = virtio_balloon_set_config;
|
vdc->set_config = virtio_balloon_set_config;
|
||||||
vdc->get_features = virtio_balloon_get_features;
|
vdc->get_features = virtio_balloon_get_features;
|
||||||
vdc->save = virtio_balloon_save_device;
|
|
||||||
vdc->load = virtio_balloon_load_device;
|
|
||||||
vdc->set_status = virtio_balloon_set_status;
|
vdc->set_status = virtio_balloon_set_status;
|
||||||
|
vdc->vmsd = &vmstate_virtio_balloon_device;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo virtio_balloon_info = {
|
static const TypeInfo virtio_balloon_info = {
|
||||||
|
Loading…
Reference in New Issue
Block a user