Hi all! That's a proof-of-concept for converting vmstate_load/save_state to have boolean error value, to fixup this analysis https://lore.kernel.org/qemu-devel/[email protected]/ in code.
As many of .get / .set handlers call vmstate_load/save_state, let's convert them too, it not too much. And finally, while touching each file, let's also use new pre/post _errp() APIs. So, this series propagate a lot of errors through errp, which were simply printed out before. Why it is an RFC: 1. I didn't yet double check the accuracy of all patches 2. Maybe, commit messages need to be more detailed, maybe they need more arguments about correctness of the change 3. Maybe, it's better first merge new generic interfaces, and than send per-maintainer small series, to avoid this huge series, depending on many maintainers. So, I don't include in CC many maintainers now, to get a first look from Markus and Peter. What do you think? Based on [PATCH v4 0/2] migration: vmsd errp handlers: return bool Based-on: <[email protected]> Vladimir Sementsov-Ogievskiy (22): migration: introduce vmstate_load_vmsd() and vmstate_save_vmsd() migration: VMStateInfo: introduce new handlers with errp tests/unit/test-vmstate: move to new migration APIs ui/vdagent: move to new migration APIs hw/s390x/virtio-ccw.c: move to new migration APIs hw/scsi/spapr_vscsi: move to new migration APIs hw/scsi/scsi-bus.c: use new migration APIs hw/vfio/pci: move to new migration APIs hw/pci/pci: move to new migration APIs hw/pci/msix.c: use new migration APIs hw/pci/shpc.c: use new migration APIs hw/virtio: move to new migration APIs hw/display/virtio-gpu: move to new migration APIs hw/net/virtio-net.c: use new migration APIs hw/nvram/eeprom93xx.c: use new migration APIs hw/nvram/fw_cfg.c: use new migration APIs migration/cpr: move to new migration APIs migration/savevm: move to new migration APIs migration/vmstate-types: move to new migration APIs migration: VMStateInfo: remove old .get / .set handlers migration: convert vmstate_subsection_save/load functions to bool migration: finally convert vmstate_save/load_state() functions hw/display/virtio-gpu.c | 66 ++-- hw/net/virtio-net.c | 118 ++++--- hw/nvram/eeprom93xx.c | 25 +- hw/nvram/fw_cfg.c | 30 +- hw/pci/msix.c | 17 +- hw/pci/pci.c | 66 ++-- hw/pci/shpc.c | 22 +- hw/s390x/virtio-ccw.c | 25 +- hw/scsi/scsi-bus.c | 17 +- hw/scsi/spapr_vscsi.c | 6 +- hw/vfio/pci.c | 14 +- hw/virtio/vhost-user-fs.c | 65 ++-- hw/virtio/virtio-mmio.c | 10 +- hw/virtio/virtio-pci.c | 10 +- hw/virtio/virtio.c | 78 +++-- include/hw/virtio/virtio-bus.h | 4 +- include/hw/virtio/virtio.h | 2 - include/migration/cpr.h | 4 +- include/migration/vmstate.h | 19 +- migration/cpr.c | 32 +- migration/migration.c | 2 +- migration/savevm.c | 108 +++--- migration/vmstate-types.c | 584 ++++++++++++++++----------------- migration/vmstate.c | 187 +++++------ tests/unit/test-vmstate.c | 116 ++----- ui/vdagent.c | 38 +-- 26 files changed, 804 insertions(+), 861 deletions(-) -- 2.48.1
