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

Peter Krempa posted 17 patches 1 year, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1673266652.git.pkrempa@redhat.com
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
[PATCH v2 00/17] Add support for passing FDs to access disk images
Posted by Peter Krempa 1 year, 3 months ago
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
Re: [PATCH v2 00/17] Add support for passing FDs to access disk images
Posted by Pavel Hrdina 1 year, 3 months ago
On Mon, Jan 09, 2023 at 01:18:38PM +0100, Peter Krempa wrote:
> 
> 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'

Reviewed-by: Pavel Hrdina <phrdina@redhat.com>