mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-08-06 18:57:09 +00:00

Add support for sharing directories with a guest VM. virtio-fs needs virtiofsd to be started. In order to start virtiofsd as a process (despite being a daemon it is does not run in the background), a double-fork is used. virtiofsd should close itself together with QEMU. There are the parameters dirid and the optional parameters direct-io, cache and writeback. Additionally the expose-xattr & expose-acl parameter can be set to expose xattr & acl settings from the shared filesystem to the guest system. The dirid gets mapped to the path on the current node and is also used as a mount tag (name used to mount the device on the guest). example config: ``` virtiofs0: foo,direct-io=1,cache=always,expose-acl=1 virtiofs1: dirid=bar,cache=never,expose-xattr=1,writeback=1 ``` For information on the optional parameters see the coherent doc patch and the official gitlab README: https://gitlab.com/virtio-fs/virtiofsd/-/blob/main/README.md Also add a permission check for virtiofs directory access. Add virtiofsd to the Recommends list for the qemu-server Debian package, this allows users to opt-out of installing this package, e.g. for certification reasons. Signed-off-by: Markus Frank <m.frank@proxmox.com> Link: https://lore.proxmox.com/20250407134950.265270-3-m.frank@proxmox.com Tested-by: Lukas Wagner <l.wagner@proxmox.com> [TL: squash d/control change and re-add Lukas' T-b, as nothing essentially changed from the v16 where his tag applied] Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
21 lines
357 B
Makefile
21 lines
357 B
Makefile
SOURCES=PCI.pm \
|
|
RNG.pm \
|
|
USB.pm \
|
|
Memory.pm \
|
|
ImportDisk.pm \
|
|
Cloudinit.pm \
|
|
Agent.pm \
|
|
Helpers.pm \
|
|
Monitor.pm \
|
|
Machine.pm \
|
|
MetaInfo.pm \
|
|
CPUConfig.pm \
|
|
CGroup.pm \
|
|
Drive.pm \
|
|
QMPHelpers.pm \
|
|
Virtiofs.pm
|
|
|
|
.PHONY: install
|
|
install: ${SOURCES}
|
|
for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/QemuServer/$$i; done
|