This series cleans up the vmstate save/load code a little, and adds a max_version_id field to VMStateDescription.
This will be useful in case we need to revert vmstate changes but keep compatibility with QEMU versions that had a higher version_id. No existing behavior will be changed by code that doesn't have max_version_id set. One possible use case for this is the the "cpu" section, where the xsave CPU state could be made optional by moving it to a "xsave" section, and then revert version_id back to 11 while still accepting version_id==12 migration data. Eduardo Habkost (5): savevm: Coding style line length fix vmstate: Replace while (...) with for (...) vmstate: Simplify field-skipping load/save logic vmstate: Use version_id when saving vmstate: Add max_version_id field to VMStateDescription include/migration/vmstate.h | 1 + savevm.c | 170 +++++++++++++++++++++++--------------------- 2 files changed, 89 insertions(+), 82 deletions(-) -- 1.8.3.1