public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH-SERIES guest-common/qemu-server 0/4] remote migration (and drive mirror) improvements
@ 2026-06-09 14:28 Fiona Ebner
  2026-06-09 14:28 ` [PATCH guest-common 1/4] storage tunnel: query disk import: adapt to current signature for file_size_info() Fiona Ebner
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Fiona Ebner @ 2026-06-09 14:28 UTC (permalink / raw)
  To: pve-devel

As reported in the enterprise support, the 'query-disk-import' command
can time out (for a large disk/busy system) for an offline remote
migration, when the target storage is directory-based. The
'query-disk-import' command will call file_size_info() when the import
is finished to check the image and 10 seconds might not be enough
there. To mitigate the issue, bump the timeout to 1 minute.

Further small improvements are:
- Adapt to current signature for file_size_info() call to stop relying
  on compat handling.
- Avoid warning from superfluous qemu_del_dbus_vmstate() call.
- Use correct unit for drive mirror bandwidth limit.

guest-common:

Fiona Ebner (2):
  storage tunnel: query disk import: adapt to current signature for
    file_size_info()
  storage tunnel: disk migration: bump timeout for image check after
    import

 src/PVE/StorageTunnel.pm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)


qemu-server:

Fiona Ebner (2):
  remote migration: mtunnel: avoid warning from superfluous call for
    removing dbus-vmstate
  block job: mirror: use correct unit for logging bandwidth limit

 src/PVE/API2/Qemu.pm           | 1 -
 src/PVE/QemuServer/BlockJob.pm | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)


Summary over all repositories:
  3 files changed, 4 insertions(+), 4 deletions(-)

-- 
Generated by git-murpp 0.5.0




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

* [PATCH guest-common 1/4] storage tunnel: query disk import: adapt to current signature for file_size_info()
  2026-06-09 14:28 [PATCH-SERIES guest-common/qemu-server 0/4] remote migration (and drive mirror) improvements Fiona Ebner
@ 2026-06-09 14:28 ` Fiona Ebner
  2026-06-09 14:28 ` [PATCH guest-common 2/4] storage tunnel: disk migration: bump timeout for image check after import Fiona Ebner
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Fiona Ebner @ 2026-06-09 14:28 UTC (permalink / raw)
  To: pve-devel

In pve-storage commit 8364895 ("file size info: allow specifying file
format"), a new parameter for the format was added to the signature of
file_size_info() and while calls without a format parameter are
properly translated and still work (for now), they will trigger a
deprecation warning:

> file_size_info: detected call with legacy parameter order:
> $untrusted before $file_format

Adapt to the new signature to avoid this.

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

diff --git a/src/PVE/StorageTunnel.pm b/src/PVE/StorageTunnel.pm
index 3a9c696..864aa0e 100644
--- a/src/PVE/StorageTunnel.pm
+++ b/src/PVE/StorageTunnel.pm
@@ -297,7 +297,8 @@ sub handle_query_disk_import {
         # check imported image for bad references
         if ($scfg->{path}) {
             my $path = PVE::Storage::path($cfg, $volid);
-            PVE::Storage::file_size_info($path, undef, 1);
+            my $format = (PVE::Storage::parse_volname($cfg, $volid))[6];
+            PVE::Storage::file_size_info($path, undef, $format, 1);
         }
 
         return {
-- 
2.47.3





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

* [PATCH guest-common 2/4] storage tunnel: disk migration: bump timeout for image check after import
  2026-06-09 14:28 [PATCH-SERIES guest-common/qemu-server 0/4] remote migration (and drive mirror) improvements Fiona Ebner
  2026-06-09 14:28 ` [PATCH guest-common 1/4] storage tunnel: query disk import: adapt to current signature for file_size_info() Fiona Ebner
@ 2026-06-09 14:28 ` Fiona Ebner
  2026-06-09 14:28 ` [PATCH qemu-server 3/4] remote migration: mtunnel: avoid warning from superfluous call for removing dbus-vmstate Fiona Ebner
  2026-06-09 14:28 ` [PATCH qemu-server 4/4] block job: mirror: use correct unit for logging bandwidth limit Fiona Ebner
  3 siblings, 0 replies; 5+ messages in thread
From: Fiona Ebner @ 2026-06-09 14:28 UTC (permalink / raw)
  To: pve-devel

As reported in the enterprise support, the 'query-disk-import' command
can time out (for a large disk/busy system) for an offline remote
migration, when the target storage is directory-based. The
'query-disk-import' command will call file_size_info() when the import
is finished to check the image and 10 seconds might not be enough
there. To mitigate the issue, bump the timeout to 1 minute.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
 src/PVE/StorageTunnel.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/PVE/StorageTunnel.pm b/src/PVE/StorageTunnel.pm
index 864aa0e..37a9842 100644
--- a/src/PVE/StorageTunnel.pm
+++ b/src/PVE/StorageTunnel.pm
@@ -101,7 +101,7 @@ sub storage_migrate {
 
     # wait for the remote process to finish
     my $new_volid;
-    while ($res = PVE::Tunnel::write_tunnel($tunnel, 10, 'query-disk-import')) {
+    while ($res = PVE::Tunnel::write_tunnel($tunnel, 60, 'query-disk-import')) {
         if ($res->{status} eq 'pending') {
             if (my $msg = $res->{msg}) {
                 $log->('info', "disk-import: $msg\n");
-- 
2.47.3





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

* [PATCH qemu-server 3/4] remote migration: mtunnel: avoid warning from superfluous call for removing dbus-vmstate
  2026-06-09 14:28 [PATCH-SERIES guest-common/qemu-server 0/4] remote migration (and drive mirror) improvements Fiona Ebner
  2026-06-09 14:28 ` [PATCH guest-common 1/4] storage tunnel: query disk import: adapt to current signature for file_size_info() Fiona Ebner
  2026-06-09 14:28 ` [PATCH guest-common 2/4] storage tunnel: disk migration: bump timeout for image check after import Fiona Ebner
@ 2026-06-09 14:28 ` Fiona Ebner
  2026-06-09 14:28 ` [PATCH qemu-server 4/4] block job: mirror: use correct unit for logging bandwidth limit Fiona Ebner
  3 siblings, 0 replies; 5+ messages in thread
From: Fiona Ebner @ 2026-06-09 14:28 UTC (permalink / raw)
  To: pve-devel

Remote migration does not support migrating the conntrack state. And
even if it would, there is no need to do it upon cleanup after errors,
since the state would already be removed in vm_stop_cleanup(). Remove
the superfluous call to avoid a misleading warning:

> failed to retrieve org.qemu.VMState1 owners:
> org.freedesktop.DBus.Error.NameHasNoOwner:
> Could not get owners of name 'org.qemu.VMState1': no such name

Fixes: dc76a590 ("fix #5180: migrate: integrate helper for live-migrating conntrack info")
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
 src/PVE/API2/Qemu.pm | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm
index 54883f1e..21fe5e26 100644
--- a/src/PVE/API2/Qemu.pm
+++ b/src/PVE/API2/Qemu.pm
@@ -6949,7 +6949,6 @@ __PACKAGE__->register_method({
                             warn $@ if $@;
                         }
 
-                        PVE::QemuServer::DBusVMState::qemu_del_dbus_vmstate($state->{vmid});
                         PVE::QemuServer::destroy_vm($state->{storecfg}, $state->{vmid}, 1);
                     }
 
-- 
2.47.3





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

* [PATCH qemu-server 4/4] block job: mirror: use correct unit for logging bandwidth limit
  2026-06-09 14:28 [PATCH-SERIES guest-common/qemu-server 0/4] remote migration (and drive mirror) improvements Fiona Ebner
                   ` (2 preceding siblings ...)
  2026-06-09 14:28 ` [PATCH qemu-server 3/4] remote migration: mtunnel: avoid warning from superfluous call for removing dbus-vmstate Fiona Ebner
@ 2026-06-09 14:28 ` Fiona Ebner
  3 siblings, 0 replies; 5+ messages in thread
From: Fiona Ebner @ 2026-06-09 14:28 UTC (permalink / raw)
  To: pve-devel

The $bwlimit option is multipled by 1024, so it's KiB, not KB.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
 src/PVE/QemuServer/BlockJob.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/PVE/QemuServer/BlockJob.pm b/src/PVE/QemuServer/BlockJob.pm
index c8b0b030..921f046c 100644
--- a/src/PVE/QemuServer/BlockJob.pm
+++ b/src/PVE/QemuServer/BlockJob.pm
@@ -261,7 +261,7 @@ my sub common_mirror_qmp_options {
 
     if (defined($bwlimit)) {
         $opts->{speed} = $bwlimit * 1024;
-        print "drive mirror is starting for $device_id with bandwidth limit: ${bwlimit} KB/s\n";
+        print "drive mirror is starting for $device_id with bandwidth limit: ${bwlimit} KiB/s\n";
     } else {
         print "drive mirror is starting for $device_id\n";
     }
-- 
2.47.3





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

end of thread, other threads:[~2026-06-09 14:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-09 14:28 [PATCH-SERIES guest-common/qemu-server 0/4] remote migration (and drive mirror) improvements Fiona Ebner
2026-06-09 14:28 ` [PATCH guest-common 1/4] storage tunnel: query disk import: adapt to current signature for file_size_info() Fiona Ebner
2026-06-09 14:28 ` [PATCH guest-common 2/4] storage tunnel: disk migration: bump timeout for image check after import Fiona Ebner
2026-06-09 14:28 ` [PATCH qemu-server 3/4] remote migration: mtunnel: avoid warning from superfluous call for removing dbus-vmstate Fiona Ebner
2026-06-09 14:28 ` [PATCH qemu-server 4/4] block job: mirror: use correct unit for logging bandwidth limit Fiona Ebner

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