Thanks for working on this awesome feature! I tested it with Debian 12 and Windows Server 2025 VMs and it worked really well.

This patch series LGTM and can be merged very soon, IMO.

I wrote some further comments as answers to the other patches.


For the whole series, please consider:

Tested-by: Laurențiu Leahu-Vlăducu <l.leahu-vlad...@proxmox.com>
Reviewed-by: Laurențiu Leahu-Vlăducu <l.leahu-vlad...@proxmox.com>


On 04.03.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



cluster:

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:

Markus Frank (1):
   add dir mapping section config

  src/Makefile           |   1 +
  src/PVE/Mapping/Dir.pm | 196 +++++++++++++++++++++++++++++++++++++++++
  2 files changed, 197 insertions(+)
  create mode 100644 src/PVE/Mapping/Dir.pm



docs:

Markus Frank (1):
   add doc section for the shared filesystem virtio-fs

  qm.adoc | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
  1 file changed, 97 insertions(+), 2 deletions(-)



qemu-server:

Markus Frank (4):
   control: add virtiofsd as runtime dependency for qemu-server
   fix #1027: virtio-fs support
   migration: check_local_resources for virtiofs
   disable snapshot (with RAM) and hibernate with virtio-fs devices

  PVE/API2/Qemu.pm             |  41 ++++++-
  PVE/QemuServer.pm            |  46 +++++++-
  PVE/QemuServer/Makefile      |   3 +-
  PVE/QemuServer/Memory.pm     |  22 ++--
  PVE/QemuServer/Virtiofs.pm   | 211 +++++++++++++++++++++++++++++++++++
  debian/control               |   1 +
  test/MigrationTest/Shared.pm |   7 ++
  7 files changed, 317 insertions(+), 14 deletions(-)
  create mode 100644 PVE/QemuServer/Virtiofs.pm



manager:

Markus Frank (5):
   api: add resource map api endpoints for directories
   ui: add edit window for dir mappings
   ui: add resource mapping view for directories
   ui: form: add selector for directory mappings
   ui: add options to add virtio-fs to qemu config

  PVE/API2/Cluster/Mapping.pm         |   7 +
  PVE/API2/Cluster/Mapping/Dir.pm     | 308 ++++++++++++++++++++++++++++
  PVE/API2/Cluster/Mapping/Makefile   |   1 +
  www/manager6/Makefile               |   4 +
  www/manager6/Utils.js               |   1 +
  www/manager6/dc/Config.js           |  10 +
  www/manager6/dc/DirMapView.js       |  42 ++++
  www/manager6/form/DirMapSelector.js |  63 ++++++
  www/manager6/qemu/HardwareView.js   |  19 ++
  www/manager6/qemu/VirtiofsEdit.js   | 137 +++++++++++++
  www/manager6/window/DirMapEdit.js   | 214 +++++++++++++++++++
  11 files changed, 806 insertions(+)
  create mode 100644 PVE/API2/Cluster/Mapping/Dir.pm
  create mode 100644 www/manager6/dc/DirMapView.js
  create mode 100644 www/manager6/form/DirMapSelector.js
  create mode 100644 www/manager6/qemu/VirtiofsEdit.js
  create mode 100644 www/manager6/window/DirMapEdit.js




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

Reply via email to