[libvirt PATCHv4 00/15] add virtiofs support (virtio-fs epopee)

Ján Tomko jtomko at redhat.com
Thu Feb 20 14:32:37 UTC 2020


For:
  https://bugzilla.redhat.com/show_bug.cgi?id=1694166

v3:
https://www.redhat.com/archives/libvir-list/2020-January/msg01401.html
v4:
* place virtiofsd into the emulator cgroup
* do not leak the log file descriptor
* better validation of the path existence and shared memory support
* run as root:root explicitly
* correctly use listification in RST document

bonus:
15/15 wip for SELinux integration

Avaliable on my repo (except for the bonus round)
git fetch https://repo.or.cz/libvirt/jtomko.git virtiofs-v4

TODO:
* a bug against selinux-policy
* address the inconsistency of some downstreams wrt placing the json
  files into /usr/share/qemu vs. /usr/share/qemu-kvm:
  https://bugzilla.redhat.com/show_bug.cgi?id=1804196

Daniel P. Berrangé (1):
  docs: reduce excessive spacing in ToC for RST files

Ján Tomko (14):
  schema: wrap fsDriver in a choice group
  qemuExtDevicesStart: pass logManager
  qemu: add QEMU_CAPS_VHOST_USER_FS
  docs: add virtiofs kbase
  conf: qemu: add virtiofs fsdriver type
  conf: add virtiofs-related elements and attributes
  qemu: add virtiofsd_debug to qemu.conf
  qemu: validate virtiofs filesystems
  qemu: forbid migration with vhost-user-fs device
  qemu: add code for handling virtiofsd
  qemu: put virtiofsd in the emulator cgroup
  qemu: use the vhost-user schemas to find binary
  qemu: build vhost-user-fs device command line
  wip: SELinux integration for virtiofsd

 docs/formatdomain.html.in                     |  35 +-
 docs/kbase.html.in                            |   3 +
 docs/kbase/virtiofs.rst                       | 152 ++++++++
 docs/libvirt.css                              |   4 +
 docs/schemas/domaincommon.rng                 |  88 ++++-
 po/POTFILES.in                                |   1 +
 src/conf/domain_conf.c                        | 108 +++++-
 src/conf/domain_conf.h                        |  16 +
 src/libvirt_private.syms                      |   2 +
 src/qemu/Makefile.inc.am                      |   2 +
 src/qemu/libvirtd_qemu.aug                    |   1 +
 src/qemu/qemu.conf                            |   7 +
 src/qemu/qemu_capabilities.c                  |   4 +
 src/qemu/qemu_capabilities.h                  |   3 +
 src/qemu/qemu_command.c                       |  47 ++-
 src/qemu/qemu_conf.c                          |   2 +
 src/qemu/qemu_conf.h                          |   1 +
 src/qemu/qemu_domain.c                        |  66 +++-
 src/qemu/qemu_domain.h                        |   2 +-
 src/qemu/qemu_domain_address.c                |   4 +
 src/qemu/qemu_extdevice.c                     |  43 +++
 src/qemu/qemu_extdevice.h                     |   1 +
 src/qemu/qemu_migration.c                     |  10 +
 src/qemu/qemu_process.c                       |   4 +-
 src/qemu/qemu_security.c                      |  40 ++
 src/qemu/qemu_security.h                      |   7 +
 src/qemu/qemu_vhost_user.c                    |  40 ++
 src/qemu/qemu_vhost_user.h                    |   4 +
 src/qemu/qemu_virtiofs.c                      | 341 ++++++++++++++++++
 src/qemu/qemu_virtiofs.h                      |  48 +++
 src/qemu/test_libvirtd_qemu.aug.in            |   1 +
 src/security/security_dac.c                   |  20 +
 src/security/security_driver.h                |   2 +
 src/security/security_manager.c               |  12 +
 src/security/security_manager.h               |   4 +
 src/security/security_nop.c                   |   1 +
 src/security/security_selinux.c               |  69 ++++
 src/security/security_stack.c                 |  19 +
 .../caps_4.2.0.aarch64.xml                    |   1 +
 .../qemucapabilitiesdata/caps_4.2.0.s390x.xml |   1 +
 .../caps_4.2.0.x86_64.xml                     |   1 +
 .../caps_5.0.0.aarch64.xml                    |   1 +
 .../caps_5.0.0.x86_64.xml                     |   1 +
 ...vhost-user-fs-fd-memory.x86_64-latest.args |  39 ++
 .../vhost-user-fs-fd-memory.xml               |  43 +++
 ...vhost-user-fs-hugepages.x86_64-latest.args |  47 +++
 .../vhost-user-fs-hugepages.xml               |  75 ++++
 tests/qemuxml2argvtest.c                      |  14 +
 .../vhost-user-fs-fd-memory.x86_64-latest.xml |   1 +
 .../vhost-user-fs-hugepages.x86_64-latest.xml |   1 +
 tests/qemuxml2xmltest.c                       |   3 +
 51 files changed, 1420 insertions(+), 22 deletions(-)
 create mode 100644 docs/kbase/virtiofs.rst
 create mode 100644 src/qemu/qemu_virtiofs.c
 create mode 100644 src/qemu/qemu_virtiofs.h
 create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-fd-memory.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-fd-memory.xml
 create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-hugepages.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-hugepages.xml
 create mode 120000 tests/qemuxml2xmloutdata/vhost-user-fs-fd-memory.x86_64-latest.xml
 create mode 120000 tests/qemuxml2xmloutdata/vhost-user-fs-hugepages.x86_64-latest.xml

-- 
2.24.1




More information about the libvir-list mailing list