[pve-devel] [PATCH cluster/guest-common/docs/qemu-server/manager v9 0/7] virtiofs
Markus Frank
m.frank at proxmox.com
Fri Mar 1 09:05:19 CET 2024
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
More information about the pve-devel
mailing list