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

Reply via email to