Virtio-fs is a shared file system that enables sharing a directory between host and guest VM. It takes advantage of the locality of virtual machines and the hypervisor to get a higher throughput than the 9p remote file system protocol.
build-order: 1. cluster 2. guest-common 3. docs 4. qemu-server 5. manager I did not get virtiofsd to run with run_command without creating zombie processes after stutdown. So I replaced run_command with exec for now. Maybe someone can find out why this happens. cluser: Markus Frank (1): add mapping/dir.cfg for resource mapping src/PVE/Cluster.pm | 1 + src/pmxcfs/status.c | 1 + 2 files changed, 2 insertions(+) guest-common: v9: * fixed wrong indentation * changed parameter description * added check_duplicate function to prevent multiple mappings for one node v7: * renamed DIR to Dir * made xattr & acl settings per directory-id and not per node Markus Frank (1): add dir mapping section config src/Makefile | 1 + src/PVE/Mapping/Dir.pm | 205 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 206 insertions(+) create mode 100644 src/PVE/Mapping/Dir.pm docs: v9: * corrected grammatical errors and capitalization v8: * added "Known Limitations" * removed old mount tag Markus Frank (1): add doc section for the shared filesystem virtio-fs qm.adoc | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 92 insertions(+), 2 deletions(-) qemu-server: v9: * moved virtiofs code to Virtiofs module * combined "Permission check for virtiofs directory access" with "feature #1027: virtio-fs support" patch * separated debian/control change into its own patch v8: * changed permission checks to cover cloning and restoring and made the helper functions similar to the PCI, USB permission check functions. * warn if acl is activated on Windows VM, since the virtiofs device cannot be mounted on Windows if acl is on and moved with dir config validation to its own function. This function is called in config_to_command so that no virtiofsd command is running although qmstart died because a second virtiofs device was incorrectly configured. v7: * enabled use of hugepages * renamed variables * added acl & xattr parameters that overwrite the default directory mapping settings v6: * added virtiofsd dependency * 2 new patches: * Permission check for virtiofs directory access * check_local_resources: virtiofs v5: * allow numa settings with virtio-fs * added direct-io & cache settings * changed to rust implementation of virtiofsd * made double fork and closed all file descriptor so that the lockfile gets released. v3: * created own socket and get file descriptor for virtiofsd so there is no race between starting virtiofsd & qemu * added TODO to replace virtiofsd with rust implementation in bookworm (I packaged the rust implementation for bookworm & the C implementation in qemu will be removed in qemu 8.0) v2: * replaced sharedfiles_fmt path in qemu-server with dirid: * user can use the dirid to specify the directory without requiring root access Markus Frank (3): add virtiofsd as runtime dependency for qemu-server fix #1027: virtio-fs support migration: check_local_resources for virtiofs PVE/API2/Qemu.pm | 39 ++++++- PVE/QemuServer.pm | 29 ++++- PVE/QemuServer/Makefile | 3 +- PVE/QemuServer/Memory.pm | 34 ++++-- PVE/QemuServer/Virtiofs.pm | 212 +++++++++++++++++++++++++++++++++++ debian/control | 1 + test/MigrationTest/Shared.pm | 7 ++ 7 files changed, 313 insertions(+), 12 deletions(-) create mode 100644 PVE/QemuServer/Virtiofs.pm manager: v9: * changed API descriptions * prevent multiple mappings for one node with PVE::Mapping::Dir::check_duplicate v8: * removed ui patches for now Markus Frank (1): api: add resource map api endpoints for directories PVE/API2/Cluster/Mapping.pm | 7 + PVE/API2/Cluster/Mapping/Dir.pm | 317 ++++++++++++++++++++++++++++++ PVE/API2/Cluster/Mapping/Makefile | 1 + 3 files changed, 325 insertions(+) create mode 100644 PVE/API2/Cluster/Mapping/Dir.pm -- 2.39.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel