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