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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



First part of the series refactors close callbacks to allow having more
of them and then implements new API virDomainFDAssociate and plumbs it
to pass to qemu.

Peter Krempa (36):
  datatypes: Simplify error path of 'virGetDomain'
  datatypes: Clean up whitespace in definition of struct _virConnect
  conf: virdomainobjlist: Convert header to contemporary style
  conf: virdomainobjlist: Introduce 'virDomainObjListCollectAll'
  conf: virdomainobjlist: Remove return value from
    virDomainObjListCollect
  conf: domain: Add helper infrastructure for new connection close
    callbacks
  virclosecallbacks: Add new close callbacks APIs
  lxc: Use new connection close callbacks API
  bhyve: Use new connection close callbacks API
  qemu: Use new connection close callbacks API
  qemuMigrationSrcIsAllowed: Remove unused 'driver' argument
  qemuMigrationSrcBeginResumePhase: Remove unused 'driver' argument
  virclosecallbacks: Remove old close callbacks code
  gendispatch: Add 'G_GNUC_WARN_UNUSED_RESULT' to output of 'aclheader'
  remote_driver: Return 'virLockGuard' from 'remoteDriverLock'
  remote_driver: Refactor few functions as example of auto-locking
  virStorageSourceIsSameLocation: Use switch statement for individual
    storage types
  qemuxml2argvtest: Add seclabels in <backingStore> to
    disk-backing-chains-(no)index
  qemuxml2xmltest: Remove 'disk-backing-chain' case and output files
  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                       |  22 +
 include/libvirt/libvirt-domain.h              |  22 +
 po/POTFILES                                   |   1 -
 src/bhyve/bhyve_domain.c                      |  15 +-
 src/bhyve/bhyve_driver.c                      |   6 +-
 src/bhyve/bhyve_process.c                     |   9 +-
 src/bhyve/bhyve_utils.h                       |   2 -
 src/conf/domain_conf.c                        |  15 +
 src/conf/domain_conf.h                        |  26 +
 src/conf/domain_postparse.c                   |   9 +
 src/conf/schemas/domaincommon.rng             |   3 +
 src/conf/storage_source_conf.c                |  80 ++-
 src/conf/storage_source_conf.h                |  27 ++
 src/conf/virdomainobjlist.c                   |  39 +-
 src/conf/virdomainobjlist.h                   | 160 +++---
 src/datatypes.c                               |  14 +-
 src/datatypes.h                               |   5 +-
 src/driver-hypervisor.h                       |   8 +
 src/hypervisor/virclosecallbacks.c            | 454 ++++++++++--------
 src/hypervisor/virclosecallbacks.h            |  37 +-
 src/libvirt-domain.c                          |  82 ++++
 src/libvirt_private.syms                      |  14 +-
 src/libvirt_public.syms                       |   5 +
 src/lxc/lxc_conf.c                            |  15 +-
 src/lxc/lxc_conf.h                            |   3 -
 src/lxc/lxc_driver.c                          |   8 +-
 src/lxc/lxc_process.c                         |   8 +-
 src/qemu/qemu_block.c                         |  31 +-
 src/qemu/qemu_cgroup.c                        |   4 +-
 src/qemu/qemu_command.c                       |  22 +
 src/qemu/qemu_conf.c                          |  17 +-
 src/qemu/qemu_conf.h                          |   3 -
 src/qemu/qemu_domain.c                        | 129 ++++-
 src/qemu/qemu_domain.h                        |  11 +-
 src/qemu/qemu_driver.c                        | 108 ++++-
 src/qemu/qemu_hotplug.c                       |   1 +
 src/qemu/qemu_migration.c                     |  54 +--
 src/qemu/qemu_migration.h                     |   3 +-
 src/qemu/qemu_process.c                       |  37 +-
 src/qemu/qemu_process.h                       |  11 +-
 src/qemu/qemu_snapshot.c                      |   4 +-
 src/remote/remote_daemon_dispatch.c           |  40 ++
 src/remote/remote_driver.c                    |  70 ++-
 src/remote/remote_protocol.x                  |  14 +-
 src/remote_protocol-structs                   |   6 +
 src/rpc/gendispatch.pl                        |   2 +-
 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             |  14 +
 src/test/test_driver.c                        |   4 +-
 src/vz/vz_driver.c                            |   7 +-
 .../disk-backing-chains-index.xml             |   6 +-
 .../disk-backing-chains-noindex.xml           |   6 +-
 .../qemuxml2argvdata/disk-backing-chains.xml  |  98 ----
 .../disk-source-fd.x86_64-latest.args         |  49 ++
 tests/qemuxml2argvdata/disk-source-fd.xml     |  40 ++
 tests/qemuxml2argvtest.c                      |   9 +
 .../disk-backing-chains-active.xml            | 110 -----
 .../disk-backing-chains-inactive.xml          | 110 -----
 .../disk-backing-chains-index-active.xml      |   6 +-
 .../disk-backing-chains-index-inactive.xml    |   6 +-
 .../disk-backing-chains-noindex.xml           |   6 +-
 .../disk-source-fd.x86_64-latest.xml          |  52 ++
 tests/qemuxml2xmltest.c                       |   3 +-
 tests/testutilsqemu.c                         |  33 ++
 tests/testutilsqemu.h                         |   2 +
 tools/virsh-domain.c                          |  83 ++++
 69 files changed, 1512 insertions(+), 847 deletions(-)
 delete mode 100644 tests/qemuxml2argvdata/disk-backing-chains.xml
 create mode 100644 tests/qemuxml2argvdata/disk-source-fd.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/disk-source-fd.xml
 delete mode 100644 tests/qemuxml2xmloutdata/disk-backing-chains-active.xml
 delete mode 100644 tests/qemuxml2xmloutdata/disk-backing-chains-inactive.xml
 create mode 100644 tests/qemuxml2xmloutdata/disk-source-fd.x86_64-latest.xml

-- 
2.38.1




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux