[libvirt RFC v2 00/11] multifd save prototype

Claudio Fontana cfontana at suse.de
Fri Apr 22 19:32:06 UTC 2022


This is the multifd save prototype in its first semi-functional state,
(save direction only),

with surely a lot of rough edges as I am not very familiar with the
libvirt code base yet or its rules.

It seems to work for me, but take a look if this is something
realistic to pursue further, whether this could be acceptable
for libvirt.


Claudio Fontana (11):
  libvirt: introduce virDomainSaveParametersFlags public API
  remote: Add RPC support for the virDomainSaveParametersFlags API
  qemu: add a stub for virDomainSaveParametersFlags API
  qemu: initial implementation for the virDomainSaveParametersFlags API
  iohelper: move runIO function to a separate module
  runio: add arguments to extend use beyond just stdin and stdout
  multifd-helper: new helper for parallel saves
  qemu: wire up saveimage code with the multifd helper
  qemu: implement qemuMigrationSrcToFilesMultiFd
  tools: add parallel parameter to virsh save command
  qemu: add migration parameter multifd-compression

 docs/manpages/virsh.rst          |  23 ++-
 include/libvirt/libvirt-domain.h |   9 +
 src/driver-hypervisor.h          |   7 +
 src/libvirt-domain.c             |  51 ++++++
 src/libvirt_private.syms         |   1 +
 src/libvirt_public.syms          |   5 +
 src/qemu/qemu_capabilities.c     |   3 +
 src/qemu/qemu_capabilities.h     |   1 +
 src/qemu/qemu_driver.c           |  66 +++++++-
 src/qemu/qemu_migration.c        | 135 ++++++++++-----
 src/qemu/qemu_migration.h        |   7 +
 src/qemu/qemu_migration_params.c |  71 +++++---
 src/qemu/qemu_migration_params.h |  15 ++
 src/qemu/qemu_saveimage.c        | 281 ++++++++++++++++++++++++++-----
 src/qemu/qemu_saveimage.h        |   9 +
 src/qemu/qemu_snapshot.c         |   2 +-
 src/remote/remote_driver.c       |   1 +
 src/remote/remote_protocol.x     |  17 +-
 src/remote_protocol-structs      |   9 +
 src/util/iohelper.c              | 180 +-------------------
 src/util/meson.build             |  15 ++
 src/util/multifd-helper.c        | 205 ++++++++++++++++++++++
 src/util/runio.c                 | 214 +++++++++++++++++++++++
 src/util/runio.h                 |  38 +++++
 src/util/virthread.c             |   5 +
 src/util/virthread.h             |   1 +
 tools/virsh-domain.c             |  49 +++++-
 27 files changed, 1108 insertions(+), 312 deletions(-)
 create mode 100644 src/util/multifd-helper.c
 create mode 100644 src/util/runio.c
 create mode 100644 src/util/runio.h

-- 
2.34.1



More information about the libvir-list mailing list