We've noticed a problem when migrating guests using virtio-ccw: the ballooner will stop working after migration. Turns out that the config_vector field was not migrated and still remained at its initial value on the target system - therefore no working config changed notifications.
config_vector is located in VirtIODevice, so we assumed core would take care of migrating the value; virtio-pci does it itself. We cannot simply add new values to the virtio stream, so I introduced a new, optional, subsection only to be included when config_vector has actually been changed from its initial value. Not wanting to introduce problems with migrating virtio-pci based machines, I've introduced a callback for virtio-pci to override creation of this subsection. Migration for virtio-ccw based machines seems to be fixed with this one (ballooner continues to work on the target system), but I'd like confirmation whether this setup makes sense for virtio-pci as well. Cornelia Huck (1): virtio: migrate config_vector hw/virtio/virtio-pci.c | 14 ++++++++++++++ hw/virtio/virtio.c | 25 +++++++++++++++++++++++++ include/hw/virtio/virtio-bus.h | 5 +++++ 3 files changed, 44 insertions(+) -- 2.1.4
