On 12/9/25 10:46, Peter Krempa via Devel wrote:
> While looking trhough the snapshot code I've noticed a few bugs:
>
> - memleak in cleanup code of migration to file (1/9)
> - wrong place where 'manual' external disk snapshot is taken (2/9)
> - bad interaction between 'manual' snapshot and the _QUIESCE flag (3/9)
> - constants for save image types not exposed (6/9)
> - use of wrong 'flags' in migration to file code (8/9)
>
> The series contains also few cleanups and improvements:
> - bash completion for save image type (7/9)
> - use of proper types for save image type (4,5/9)
> - avoid problems with 'flags' in qemuMigrationParamsForSave (9/9)
>
> Part 2 will focus on some code cleanups.
>
> Peter Krempa (9):
> qemuMigrationSrcToFile: Don't leak 'qemuFDPass' in cleanup path
> qemu: snapshot: Setup disks for manual snapshot only when the VM is
> actually paused
> qemuSnapshotPrepare: Prohibit 'manual' disk snapshot mode with
> VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE flag
> qemu: Use 'virQEMUSaveFormat' type everywhere except qemu_conf
> qemu: conf: Use proper type for (save|dump|snapshot)ImageFormat
> include: Create constants for save image format values
> virsh: Add completer for '--image-format' option of 'save' command
> qemuMigrationSrcToFile: Don't cross-contaminate 'flags' variable
> qemuMigrationParamsForSave: Don't take opaque 'flags'
>
> include/libvirt/libvirt-domain.h | 87 ++++++++++++++++++++++++++++++--
> src/qemu/qemu_conf.c | 48 ++++++++++++------
> src/qemu/qemu_conf.h | 7 +--
> src/qemu/qemu_driver.c | 29 +++++++----
> src/qemu/qemu_migration.c | 14 ++---
> src/qemu/qemu_migration.h | 2 +-
> src/qemu/qemu_migration_params.c | 4 +-
> src/qemu/qemu_migration_params.h | 2 +-
> src/qemu/qemu_saveimage.c | 22 ++++----
> src/qemu/qemu_saveimage.h | 24 ++-------
> src/qemu/qemu_saveimage_format.h | 25 +++++++++
> src/qemu/qemu_snapshot.c | 14 +++--
> tools/virsh-domain.c | 21 ++++++++
> 13 files changed, 224 insertions(+), 75 deletions(-)
> create mode 100644 src/qemu/qemu_saveimage_format.h
>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Michal