[pve-devel] [PATCH qemu-server] migrate: silence 'Use of uninitialized value' warning
Dominik Csapak
d.csapak at proxmox.com
Mon May 19 16:43:57 CEST 2025
If no vfio device is present during migration, and the transferred
(main) memory did not change between loop cycles, we get a warning:
Use of uninitialized value $last_vfio_transferred in string ne
To silence that, check if the transferred vfio value is defined before,
and always write a defined value to $last_vfio_transferred.
This was noticed by a forum user:
https://forum.proxmox.com/threads/166161/
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
PVE/QemuMigrate.pm | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm
index b7bf2aa3..f72a9d33 100644
--- a/PVE/QemuMigrate.pm
+++ b/PVE/QemuMigrate.pm
@@ -1321,9 +1321,12 @@ sub phase2 {
last;
}
- if ($memstat->{transferred} ne $last_mem_transferred ||
- $stat->{vfio}->{transferred} ne $last_vfio_transferred
- ) {
+ if (
+ $memstat->{transferred} ne $last_mem_transferred
+ || (defined($stat->{vfio}->{transferred})
+ && $stat->{vfio}->{transferred} ne $last_vfio_transferred)
+ )
+ {
my $trans = $memstat->{transferred} || 0;
my $vfio_transferred = $stat->{vfio}->{transferred} || 0;
my $rem = $memstat->{remaining} || 0;
@@ -1389,7 +1392,7 @@ sub phase2 {
}
$last_mem_transferred = $memstat->{transferred};
- $last_vfio_transferred = $stat->{vfio}->{transferred};
+ $last_vfio_transferred = $stat->{vfio}->{transferred} // 0;
}
if ($self->{storage_migration}) {
--
2.39.5
More information about the pve-devel
mailing list