public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH qemu-server] qmp client: bump timeout for synchronous blockdev snapshot commands to 1 hour
@ 2025-11-28 14:56 Fiona Ebner
  2025-11-28 17:06 ` [pve-devel] applied: " Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Fiona Ebner @ 2025-11-28 14:56 UTC (permalink / raw)
  To: pve-devel

It's a commonly reported issue, most recently again in the enterprise
support, that taking or removing snapshots of large qcow2 files on
file-based network storages runs into a timeout. If the timeout is
hit, that just means additional manual steps to clean up afterwards
for users. The synchronous QMP command will still be blocking the main
thread of the QEMU instance until it has run to completion. Therefore,
a longer timeout does not really hurt here, while reducing the number
of times the aforementioned cleanup is necessary.

In the long term, using snapshot-as-volume-chain should be a good
alternative for such cases, once it's deemed production-ready.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
 src/PVE/QMPClient.pm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/PVE/QMPClient.pm b/src/PVE/QMPClient.pm
index e4f7a515..c3ed0e32 100644
--- a/src/PVE/QMPClient.pm
+++ b/src/PVE/QMPClient.pm
@@ -132,8 +132,6 @@ sub cmd {
             $cmd->{execute} eq 'backup-cancel'
             || $cmd->{execute} eq 'blockdev-del'
             || $cmd->{execute} eq 'blockdev-mirror'
-            || $cmd->{execute} eq 'blockdev-snapshot-delete-internal-sync'
-            || $cmd->{execute} eq 'blockdev-snapshot-internal-sync'
             || $cmd->{execute} eq 'block-job-cancel'
             || $cmd->{execute} eq 'block-job-complete'
             || $cmd->{execute} eq 'drive-mirror'
@@ -146,6 +144,11 @@ sub cmd {
             || $cmd->{execute} eq 'savevm-start'
         ) {
             $timeout = 10 * 60; # 10 mins
+        } elsif (
+            $cmd->{execute} eq 'blockdev-snapshot-delete-internal-sync'
+            || $cmd->{execute} eq 'blockdev-snapshot-internal-sync'
+        ) {
+            $timeout = 60 * 60; # 1 hour
         } else {
             #  NOTE: if you came here as user and want to change this, try using IO-Threads first
             # which move out quite some processing of the main thread, leaving more time for QMP
-- 
2.47.3



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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-11-28 17:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-28 14:56 [pve-devel] [PATCH qemu-server] qmp client: bump timeout for synchronous blockdev snapshot commands to 1 hour Fiona Ebner
2025-11-28 17:06 ` [pve-devel] applied: " Thomas Lamprecht

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