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