V4 series adding support for QEMU's mapped-ram stream format [1] and migration capability. The use of mapped-ram is controlled by extending save_image_format setting in qemu.conf with a new 'sparse' option. The 'raw' format continues to be the default. Also included are patches that leverage mapped-ram to add support for parallel save/restore. Changes in V4: * Rebased on latest master, including the series "qemu: Support specifying save image format" V1: https://lists.libvirt.org/archives/list/devel@xxxxxxxxxxxxxxxxx/message/MNBHGQH7PKV4RXQZXLPAGMOTNEVR3JVS/ V2: https://lists.libvirt.org/archives/list/devel@xxxxxxxxxxxxxxxxx/message/GNJNAXSB77PNUKOZ7Q4D5RVF23SAVMDN/ V3: https://lists.libvirt.org/archives/list/devel@xxxxxxxxxxxxxxxxx/message/SK2PSRXO4MPKRZLP74GR4J2EUVI5VVHW/ [1] https://gitlab.com/qemu-project/qemu/-/blob/master/docs/devel/migration/mapped-ram.rst?ref_type=heads Claudio Fontana (3): include: Define constants for parallel save/restore tools: add parallel parameter to virsh save command tools: add parallel parameter to virsh restore command Jim Fehlig (15): lib: virDomain{Save,Restore}Params: Ensure absolute path qemu: Add function to get FDPass object from monitor qemu: Add function to check capability in migration params qemu: Add function to get bool value from migration params qemu: Add mapped-ram migration capability qemu: Add function to get migration params for save qemu_saveimage: add "sparse" to supported save image formats qemu: Add helper function for creating save image fd qemu: Add support for mapped-ram on save qemu: Move creation of qemuProcessIncomingDef struct qemu: Apply migration parameters in qemuMigrationDstRun qemu: Add support for mapped-ram on restore qemu: Support O_DIRECT with mapped-ram on save qemu: Support O_DIRECT with mapped-ram on restore qemu: Add support for parallel save and restore docs/manpages/virsh.rst | 21 +++- include/libvirt/libvirt-domain.h | 11 ++ src/libvirt-domain.c | 92 +++++++++++--- src/qemu/qemu.conf.in | 9 +- src/qemu/qemu_driver.c | 78 +++++++++--- src/qemu/qemu_fd.c | 46 +++++++ src/qemu/qemu_fd.h | 4 + src/qemu/qemu_migration.c | 204 ++++++++++++++++++++++--------- src/qemu/qemu_migration.h | 10 +- src/qemu/qemu_migration_params.c | 92 ++++++++++++++ src/qemu/qemu_migration_params.h | 17 +++ src/qemu/qemu_monitor.c | 37 ++++++ src/qemu/qemu_monitor.h | 5 + src/qemu/qemu_process.c | 100 ++++++++++----- src/qemu/qemu_process.h | 19 ++- src/qemu/qemu_saveimage.c | 120 ++++++++++++------ src/qemu/qemu_saveimage.h | 4 + src/qemu/qemu_snapshot.c | 15 ++- tools/virsh-domain.c | 81 ++++++++++-- 19 files changed, 775 insertions(+), 190 deletions(-) -- 2.43.0