public inbox for pve-devel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal