Pre-zeroing allows preserve sparseness on some storage technologies where efficient zeroing is not supported, yet the images are created cleared. The support is added both for virDomainBlockCopy as well as the non-shared storage migration. Peter Krempa (7): qemuMigrationSrcPerformTunnel: Remove 'migrate_disks' argument qemu: capabilities: Introduce QEMU_CAPS_BLOCKDEV_MIRROR_TARGET_IS_ZERO qemu: monitor: Add support for 'target-is-zero' option of 'blockdev-mirror' qemu: Add VIR_DOMAIN_BLOCK_COPY_TARGET_ZEROED flag for virDomainBlockCopy virsh: Add support for 'VIR_DOMAIN_BLOCK_COPY_TARGET_ZEROED' as '--dest-is-zero' qemu: migration: Introduce 'VIR_MIGRATE_PARAM_MIGRATE_DISKS_TARGET_ZERO' virsh: migrate: Add support for VIR_MIGRATE_PARAM_MIGRATE_DISKS_TARGET_ZERO docs/manpages/virsh.rst | 10 +- include/libvirt/libvirt-domain.h | 19 +++ src/libvirt-domain.c | 4 + src/qemu/qemu_capabilities.c | 4 + src/qemu/qemu_capabilities.h | 3 + src/qemu/qemu_driver.c | 38 ++++-- src/qemu/qemu_migration.c | 118 +++++++++++++----- src/qemu/qemu_migration.h | 4 + src/qemu/qemu_monitor.c | 9 +- src/qemu/qemu_monitor.h | 3 +- src/qemu/qemu_monitor_json.c | 4 +- src/qemu/qemu_monitor_json.h | 3 +- .../caps_10.1.0_s390x.xml | 1 + .../caps_10.1.0_x86_64+inteltdx.xml | 1 + .../caps_10.1.0_x86_64.xml | 1 + .../caps_10.2.0_aarch64.xml | 1 + .../caps_10.2.0_x86_64+mshv.xml | 1 + .../caps_10.2.0_x86_64.xml | 1 + .../caps_11.0.0_aarch64.xml | 1 + .../caps_11.0.0_x86_64.xml | 1 + tests/qemumonitorjsontest.c | 2 +- tools/virsh-domain.c | 35 +++++- 22 files changed, 217 insertions(+), 47 deletions(-) -- 2.53.0