[PATCH v2 00/17] Add support for passing FDs to access disk images

Peter Krempa pkrempa at redhat.com
Mon Jan 9 12:18:38 UTC 2023


v2:
 - fixed uninitialized value usage when reading image header

Peter Krempa (17):
  lib: Introduce virDomainFDAssociate API
  virsh: Introduce 'dom-fd-associate' for invoking
    virDomainFDAssociate()
  conf: storage_source: Introduce type for storing FDs associated for
    storage
  qemu: Implement qemuDomainFDAssociate
  qemuxml2argvtest: Add support for populating 'fds' in private data
  conf: Add 'fdgroup' attribute for 'file' disks
  qemu: domain: Introduce qemuDomainStartupCleanup
  conf: storage_source: Introduce virStorageSourceIsFD
  qemu: Prepare data for FD-passed disk image sources
  qemu: block: Add support for passing FDs of disk images
  secuirity: DAC: Don't relabel FD-passed virStorageSource images
  security: selinux: Handle security labelling of FD-passed images
  qemu: Prepare storage backing chain traversal code for FD passed
    images
  qemu: driver: Don't allow certain operations with FD-passed disks
  qemu: cgroup: Don't setup cgroups for FD-passed images
  qemu: Enable support for FD passed disk sources
  qemuxml2*test: Enable testing of disks with 'fdgroup'

 docs/formatdomain.rst                         |   8 ++
 docs/manpages/virsh.rst                       |  19 +++
 include/libvirt/libvirt-domain.h              |  20 +++
 src/conf/domain_conf.c                        |   2 +
 src/conf/domain_conf.h                        |   1 +
 src/conf/domain_postparse.c                   |   9 ++
 src/conf/schemas/domaincommon.rng             |   3 +
 src/conf/storage_source_conf.c                |  57 ++++++++
 src/conf/storage_source_conf.h                |  27 ++++
 src/driver-hypervisor.h                       |   8 ++
 src/libvirt-domain.c                          |  80 +++++++++++
 src/libvirt_private.syms                      |   2 +
 src/libvirt_public.syms                       |   5 +
 src/qemu/qemu_block.c                         |  31 ++++-
 src/qemu/qemu_cgroup.c                        |   4 +-
 src/qemu/qemu_command.c                       |  22 +++
 src/qemu/qemu_domain.c                        | 129 ++++++++++++++++--
 src/qemu/qemu_domain.h                        |  11 +-
 src/qemu/qemu_driver.c                        |  89 ++++++++++++
 src/qemu/qemu_hotplug.c                       |   1 +
 src/qemu/qemu_process.c                       |   2 +-
 src/remote/remote_daemon_dispatch.c           |  40 ++++++
 src/remote/remote_driver.c                    |  27 ++++
 src/remote/remote_protocol.x                  |  14 +-
 src/remote_protocol-structs                   |   6 +
 src/security/security_dac.c                   |  16 ++-
 src/security/security_selinux.c               |  32 ++++-
 src/security/virt-aa-helper.c                 |   3 +-
 src/storage_file/storage_source.c             |  15 ++
 .../disk-source-fd.x86_64-latest.args         |  49 +++++++
 tests/qemuxml2argvdata/disk-source-fd.xml     |  40 ++++++
 tests/qemuxml2argvtest.c                      |   9 ++
 .../disk-source-fd.x86_64-latest.xml          |  52 +++++++
 tests/qemuxml2xmltest.c                       |   2 +
 tests/testutilsqemu.c                         |  33 +++++
 tests/testutilsqemu.h                         |   2 +
 tools/virsh-domain.c                          |  76 +++++++++++
 37 files changed, 923 insertions(+), 23 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/disk-source-fd.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/disk-source-fd.xml
 create mode 100644 tests/qemuxml2xmloutdata/disk-source-fd.x86_64-latest.xml

-- 
2.38.1



More information about the libvir-list mailing list