all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: "Laurențiu Leahu-Vlăducu" <l.leahu-vladucu@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: Re: [pve-devel] [PATCH guest-common/qemu-server/docs/manager v1 0/11] Virtiofs improvements
Date: Tue, 2 Dec 2025 18:27:50 +0100	[thread overview]
Message-ID: <7a41f1bb-c5a2-4faf-9f94-76d90c18f95d@proxmox.com> (raw)
In-Reply-To: <20251020121807.280441-1-m.frank@proxmox.com>

I tested this series on a test cluster and can say the following:

1. Patch 4/11 needs a rebase due to a recent change in 
src/PVE/QemuMigrate/Helpers.pm - but it is trivial to fix.

2. Setting virtiofs to read-only worked as intended.

3. Live migrations on CephFS with find-paths worked without issues (also 
when migrating multiple times). Live migrations with file-handles 
didn't, though, as reported by Filip as well - dd fails with an 
input/output error.


-> The source PVE node contains the following in the journal:

> Dec 02 17:39:19 node1 virtiofsd[109548]: node1 virtiofsd[109546]: Inode 2 ([unknown inode type; mount_id=0 device_id=0 inode_id=0]): Inode is invalid because of an error during the preceding migration, which was: Migration source has lost inode 2
> Dec 02 17:39:22 node1 pve-ha-lrm[112204]: Task 'UPID:node1:0001B64E:0015F115:692F1635:qmigrate:101:root@pam:' still active, waiting
> Dec 02 17:39:23 node1 virtiofsd[109548]: node1 virtiofsd[109546]: Failed to serialize inode 2 (st_dev=0, mnt_id=0, st_ino=0): Failed to reconstruct inode location; marking as invalid



-> The destination PVE node contains the following in the journal:

> Dec 02 17:39:23 node2 virtiofsd[76201]: node2 virtiofsd[76198]: Invalid inode 24 indexed: Opening file handle: Operation not permitted (os error 1)
> Dec 02 17:39:23 node2 virtiofsd[76201]: node2 virtiofsd[76198]: Invalid inode 22 indexed: Opening file handle: Operation not permitted (os error 1)
> Dec 02 17:39:23 node2 virtiofsd[76201]: node2 virtiofsd[76198]: Invalid inode 2 indexed: Migration source has lost inode 2
> Dec 02 17:39:23 node2 virtiofsd[76201]: node2 virtiofsd[76198]: Invalid handle 19 is open in guest: Opening inode 22 as handle 19: Inode is invalid because of an error during the preceding migration, which was: Opening file handle: Operation not permitted (os error 1)
> Dec 02 17:39:23 node2 virtiofsd[76201]: node2 virtiofsd[76198]: Invalid handle 20 is open in guest: Opening inode 24 as handle 20: Inode is invalid because of an error during the preceding migration, which was: Opening file handle: Operation not permitted (os error 1)


The following issue [0] sounds like it could be related.


4. Changing between find-paths and file-handles only works after a 
migration, which is weird (at first, it looks like file-handles works, 
but it always fails after the second attempt).

5. Just as a general remark, even if we say that these features are 
experimental, they should never cause data loss (aside of bugs, of 
course - but otherwise not). In case these options can cause data loss 
or inconsistencies, we should either only allow read-only access, or 
otherwise show a serious warning that combining these options might 
cause data loss (but then again, if it always fails, it's probably 
easier to not allow it - this is much better than causing data loss).


Everything else worked as intended during my tests.


[0] https://gitlab.com/virtio-fs/virtiofsd/-/issues/188


On 20.10.25 14:18, Markus Frank wrote:
> This patch series superseeds the patch series
> "virtiofs: add thread-pool-size and improve docs" and adds support for
> the read-only flag and live-migration.
> 
> Virtiofsd migration documentation:
> https://gitlab.com/virtio-fs/virtiofsd/-/blob/main/doc/migration.md
> 
> build-order:
> 1. pve-guest-common
> 2. qemu-server
> 3. pve-docs
> 4. pve-manager
> 
> 
> pve-guest-common:
> 
> Markus Frank (1):
>    mapping: dir: add 'live-migration-method' parameter
> 
>   src/PVE/Mapping/Dir.pm | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> 
> 
> qemu-server:
> 
> Markus Frank (3):
>    fix #6370: virtiofs: add support for thread-pool-size option
>    virtiofs: add readonly option
>    virtiofs: add live migration support
> 
>   src/PVE/QemuMigrate/Helpers.pm | 14 +++++++++++---
>   src/PVE/QemuServer/Virtiofs.pm | 34 ++++++++++++++++++++++++++++++++++
>   2 files changed, 45 insertions(+), 3 deletions(-)
> 
> 
> 
> pve-docs:
> 
> Markus Frank (4):
>    virtiofs: add explanation for cache=metadata behavior
>    virtiofs: add table for optional parameters
>    virtiofs: add thread-pool-size description
>    virtiofs: add documentation for live migration
> 
>   qm.adoc | 50 ++++++++++++++++++++++++++++++++++++++++++--------
>   1 file changed, 42 insertions(+), 8 deletions(-)
> 
> 
> 
> pve-manager:
> 
> Markus Frank (3):
>    fix #6370: ui: virtiofs edit: add support for thread-pool-size option
>    virtiofs edit: add readonly checkbox
>    directory mapping: add live-migration-method option for virtiofs
> 
>   www/manager6/dc/DirMapView.js     |  8 ++++++++
>   www/manager6/qemu/VirtiofsEdit.js | 15 +++++++++++++++
>   www/manager6/window/DirMapEdit.js | 23 +++++++++++++++++++++++
>   3 files changed, 46 insertions(+)
> 



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


      parent reply	other threads:[~2025-12-02 17:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-20 12:17 Markus Frank
2025-10-20 12:17 ` [pve-devel] [PATCH guest-common v1 1/11] mapping: dir: add 'live-migration-method' parameter Markus Frank
2025-10-20 12:17 ` [pve-devel] [PATCH qemu-server v1 2/11] fix #6370: virtiofs: add support for thread-pool-size option Markus Frank
2025-10-20 12:17 ` [pve-devel] [PATCH qemu-server v1 3/11] virtiofs: add readonly option Markus Frank
2025-10-20 12:17 ` [pve-devel] [PATCH qemu-server v1 4/11] virtiofs: add live migration support Markus Frank
2025-10-20 12:17 ` [pve-devel] [PATCH docs v1 5/11] virtiofs: add explanation for cache=metadata behavior Markus Frank
2025-10-20 12:17 ` [pve-devel] [PATCH docs v1 6/11] virtiofs: add table for optional parameters Markus Frank
2025-10-20 12:17 ` [pve-devel] [PATCH docs v1 7/11] virtiofs: add thread-pool-size description Markus Frank
2025-10-20 12:17 ` [pve-devel] [PATCH docs v1 8/11] virtiofs: add documentation for live migration Markus Frank
2025-10-20 12:17 ` [pve-devel] [PATCH manager v1 09/11] fix #6370: ui: virtiofs edit: add support for thread-pool-size option Markus Frank
2025-10-20 12:17 ` [pve-devel] [PATCH manager v1 10/11] virtiofs edit: add readonly checkbox Markus Frank
2025-10-20 12:17 ` [pve-devel] [PATCH manager v1 11/11] directory mapping: add live-migration-method option for virtiofs Markus Frank
2025-10-29 13:39 ` [pve-devel] [PATCH guest-common/qemu-server/docs/manager v1 0/11] Virtiofs improvements Filip Schauer
2025-11-03 17:38   ` Filip Schauer
2025-12-02 17:27 ` Laurențiu Leahu-Vlăducu [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7a41f1bb-c5a2-4faf-9f94-76d90c18f95d@proxmox.com \
    --to=l.leahu-vladucu@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal