From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> Hi, This series converts two parts of virtio to VMState - the device load/save for virtio-balloon and virtio-net.
It's only been smoke tested (which it passes); but if anyone has a good suggestion for testing virtio-net migration I'd be greatful. The first couple of patches are just general error reporting improvements for vmstate; and could go in straight away. The 3rd adds a new vmstate macro for skipping chunks of input data The 4th wires in a call to vmstate_{load|save}_state in virtio_{load|save} calling the vmsd on virtio device class; this is instead of the current ->load/->save methods. The idea is that eventually I'll be able to kill off the ->load/->save. Also my intention is to add the recursion into vdc->vmsd into the main vmstate_virtio vmsd via some new macro I've not figured out yet. The meat is in the 5th and 6th patches that do balloon and virtio-net. My plan is to attack virtio_blk and virtio_serial_bus next; both of which have loops walking along lists (in subtly different ways); I intend to see how Jianjun Duan's loop migration code would fit with those and try and come up with something general that does at least all 3 cases. Dave Dr. David Alan Gilbert (6): migration: report an error giving the failed field migration: Report values for comparisons migration: Add VMSTATE_UNUSED_VARRAY_UINT32 virtio/migration: Add VMStateDescription to VirtioDeviceClass virtio/migration: Migrate balloon to VMState virtio/migration: Migrate virtio-net to VMState hw/net/virtio-net.c | 256 ++++++++++++++++++++++++----------------- hw/virtio/virtio-balloon.c | 31 +++-- hw/virtio/virtio.c | 11 ++ include/hw/virtio/virtio-net.h | 10 +- include/hw/virtio/virtio.h | 2 + include/migration/vmstate.h | 11 ++ migration/vmstate.c | 10 ++ 7 files changed, 206 insertions(+), 125 deletions(-) -- 2.7.4