[PATCH 00/36] Add support for passing FDs to access disk images
Peter Krempa
pkrempa at redhat.com
Thu Jan 5 16:29:49 UTC 2023
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
More information about the libvir-list
mailing list