[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 04/13] virtio-scsi: Wrap in vmstate
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[Qemu-devel] [PATCH 04/13] virtio-scsi: Wrap in vmstate |
Date: |
Tue, 21 Jun 2016 20:13:58 +0100 |
From: "Dr. David Alan Gilbert" <address@hidden>
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
---
hw/scsi/virtio-scsi.c | 21 ++++++---------------
1 file changed, 6 insertions(+), 15 deletions(-)
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 71d09d3..6e518f4 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -663,7 +663,7 @@ static void virtio_scsi_reset(VirtIODevice *vdev)
/* The device does not have anything to save beyond the virtio data.
* Request data is saved with callbacks from SCSI devices.
*/
-static void virtio_scsi_save(QEMUFile *f, void *opaque)
+static void virtio_scsi_save(QEMUFile *f, void *opaque, size_t size)
{
VirtIODevice *vdev = VIRTIO_DEVICE(opaque);
VirtIOSCSI *s = VIRTIO_SCSI(vdev);
@@ -674,16 +674,11 @@ static void virtio_scsi_save(QEMUFile *f, void *opaque)
virtio_save(vdev, f);
}
-static int virtio_scsi_load(QEMUFile *f, void *opaque, int version_id)
+static int virtio_scsi_load(QEMUFile *f, void *opaque, size_t size)
{
VirtIODevice *vdev = VIRTIO_DEVICE(opaque);
- int ret;
- ret = virtio_load(vdev, f, version_id);
- if (ret) {
- return ret;
- }
- return 0;
+ return virtio_load(vdev, f, 1);
}
void virtio_scsi_push_event(VirtIOSCSI *s, SCSIDevice *dev,
@@ -869,7 +864,6 @@ static void virtio_scsi_device_realize(DeviceState *dev,
Error **errp)
{
VirtIODevice *vdev = VIRTIO_DEVICE(dev);
VirtIOSCSI *s = VIRTIO_SCSI(dev);
- static int virtio_scsi_id;
Error *err = NULL;
virtio_scsi_common_realize(dev, &err, virtio_scsi_handle_ctrl,
@@ -892,9 +886,6 @@ static void virtio_scsi_device_realize(DeviceState *dev,
Error **errp)
return;
}
}
-
- register_savevm(dev, "virtio-scsi", virtio_scsi_id++, 1,
- virtio_scsi_save, virtio_scsi_load, s);
}
static void virtio_scsi_instance_init(Object *obj)
@@ -918,9 +909,6 @@ void virtio_scsi_common_unrealize(DeviceState *dev, Error
**errp)
static void virtio_scsi_device_unrealize(DeviceState *dev, Error **errp)
{
- VirtIOSCSI *s = VIRTIO_SCSI(dev);
-
- unregister_savevm(dev, "virtio-scsi", s);
virtio_scsi_common_unrealize(dev, errp);
}
@@ -937,6 +925,8 @@ static Property virtio_scsi_properties[] = {
DEFINE_PROP_END_OF_LIST(),
};
+VMSTATE_VIRTIO_DEVICE(scsi, 1, virtio_scsi_load, virtio_scsi_save);
+
static void virtio_scsi_common_class_init(ObjectClass *klass, void *data)
{
VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
@@ -953,6 +943,7 @@ static void virtio_scsi_class_init(ObjectClass *klass, void
*data)
HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(klass);
dc->props = virtio_scsi_properties;
+ dc->vmsd = &vmstate_virtio_scsi;
set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
vdc->realize = virtio_scsi_device_realize;
vdc->unrealize = virtio_scsi_device_unrealize;
--
2.7.4
- [Qemu-devel] [PATCH 00/13] virtio migration: Flip outer layer to vmstate, Dr. David Alan Gilbert (git), 2016/06/21
- [Qemu-devel] [PATCH 03/13] virtio: Migration helper function and macro, Dr. David Alan Gilbert (git), 2016/06/21
- [Qemu-devel] [PATCH 04/13] virtio-scsi: Wrap in vmstate,
Dr. David Alan Gilbert (git) <=
- [Qemu-devel] [PATCH 01/13] virtio-net: Remove old migration version support, Dr. David Alan Gilbert (git), 2016/06/21
- [Qemu-devel] [PATCH 05/13] virtio-blk: Wrap in vmstate, Dr. David Alan Gilbert (git), 2016/06/21
- [Qemu-devel] [PATCH 08/13] virtio-net: Wrap in vmstate, Dr. David Alan Gilbert (git), 2016/06/21
- [Qemu-devel] [PATCH 09/13] virtio-serial: Wrap in vmstate, Dr. David Alan Gilbert (git), 2016/06/21
- [Qemu-devel] [PATCH 02/13] virtio-serial: Remove old migration version support, Dr. David Alan Gilbert (git), 2016/06/21