V3 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.
In one of the previous threads on this topic we discussed per-VM control
of save image format by adding a 'format' parameter to virDomainSaveParams.
I can do that as a followup series if folks agree its useful.
Changes in V3:
* Drop patch adding qemuFDPassGetId
* Drop now upstream patch decomposing qemuSaveImageOpen
* Add patch to get an FDPass from fdset
* If qemu is still running after save, remove fdset
V1:
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/M...
V2:
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/G...
[1]
https://gitlab.com/qemu-project/qemu/-/blob/master/docs/devel/migration/m...
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 (16):
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: Move declaration of virQEMUSaveFormat to header file
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 | 95 +++++++++++---
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 | 141 ++++++++++++---------
src/qemu/qemu_saveimage.h | 23 ++++
src/qemu/qemu_snapshot.c | 22 +++-
tools/virsh-domain.c | 81 ++++++++++--
19 files changed, 805 insertions(+), 210 deletions(-)
--
2.43.0