When reverting a save image in the most naive case libvirt would still try to use a regular file FD with the 'fd:' migration backend in qemu which will no longer work as of qemu-11.0. This patchet addresses it by using the filewrapper for all cases to pass pipes to 'fd' instead. In addition this patchset also adds a check that if 'sparse' save image format is used which requires the 'file' backend in qemu that a regular file FD is indeed passed to qemu. Peter Krempa (6): qemuSaveImageOpen: Remove wrong ATTRIBUTE_NONNULL qemuMonitorMigrateToFdSet: Drop 'flags' argument virfile: Introduce 'virFileFDIsRegular' qemuSaveImageCreateFd: Handle case when 'virQEMUFileOpenAs' doesn't return a file fd for 'sparse' format qemu: driver: Merge 'qemuDomainRestoreInternal' and 'qemuDomainObjRestore' qemu: saveimage: Use 'virFileWrapperFd' when loading non-sparse saveimage src/libvirt_private.syms | 1 + src/qemu/qemu_driver.c | 254 +++++++++++++++++++------------------- src/qemu/qemu_migration.c | 2 +- src/qemu/qemu_monitor.c | 6 +- src/qemu/qemu_monitor.h | 1 - src/qemu/qemu_saveimage.c | 48 +++++-- src/qemu/qemu_saveimage.h | 6 +- src/qemu/qemu_snapshot.c | 12 +- src/util/virfile.c | 8 ++ src/util/virfile.h | 1 + 10 files changed, 191 insertions(+), 148 deletions(-) -- 2.53.0