On 3/4/25 12:57, Markus Frank wrote:
Virtio-fs is a shared file system that enables sharing a directory
between host and guest VMs. 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.


changes in v14:
* disallow commas and equal signs in path until the path can be quoted
  in property strings
* addressed style nits and improved formatting
* use max_virtiofs() in check_vm_create_dir_perm
* removed unnecessary checks after parse_property_string
* find_on_current_node returns only one entry
* improved docs
* added missing imports/uses

changes in v13:
* removed acl/xattr attributes in node config
* renamed acl/xattr in virtiofs qemu config to expose-acl/expose-xattr
* renamed submounts in node config to announce-submounts
* the "disable snapshot (with RAM) and hibernate with virtio-fs devices"
  patch now uses the check_non_migratable_resources function
* rewritten the part about announce-submounts in pve-docs patch

Changes in v12:
* rebase to master as most patches could not be applied anymore

Changes in v11:
* made submounts option on by default in WebUI and section config
* PVE::QemuServer::Virtiofs dependency removed in QemuServer/Memory.pm
* Minor changes to function/variable names
* Disable snapshots (with RAM) and hibernate due to incompatibility

Tested this series with three different guests:

- Debian 12.7 + Debian 12.10 (Kernel 6.1 series)
- Windows 11 Build 22631
- Fedora 32 (Kernel 5.6 series)

Picked the last because it's quite an old kernel and not debian-based.

Specific error cases on linux guests (for both Debian and Fedora):

- trying to snapshot VM with RAM with virtiofs -> results in error before snapshot of VM with RAM can be done - trying to hibernate VM with virtiofs -> results in error before VM would be hibernated

xattr + POSIX ACLs:

- trying to `getfacl` on a file with POSIX ACLs set without `expose-xattr` nor `expose-acl` results in just the file mode permissions being printed - trying to `getfacl` on a file with POSIX ACLs set with `expose-xattr` and `expose-acl` results in the POSIX ACLs also printed - Fedora's kernel was probably too old to allow exposing the POSIX ACLs and resulted in a "Connection refused" if expose-acl was enabled (on the host syslog: Cannot enable posix ACLs, client does not support it)

Windows-specific error cases:

- starting a windows VM with POSIX ACLs enabled prints the warning correctly; also cannot be mounted inside the windows vm just as the docs say - mounting a virtiofs mountpoint inside a windows vm with posix acls disabled works fine; for that matter, if solely xattr is enabled, it works as expected too

Everything works as expected here, thanks for the work on this!

Also tested this feature with multiple guests accessing the same shared file system "at the same time", i.e. just me working as a user on multiple files + writing to different files at the same time with `dd`.

I had some minor nits throughout the series, but else consider this series as:

Tested-by: Daniel Kral <d.k...@proxmox.com>
Reviewed-by: Daniel Kral <d.k...@proxmox.com>


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to