Show the transferred VFIO state (when there is one), but since there is
no total here, so we can't show that, just what was transferred up until
now.

Signed-off-by: Dominik Csapak <d.csa...@proxmox.com>
---
no changes in v6
 PVE/API2/Qemu.pm   |  2 +-
 PVE/QemuMigrate.pm | 12 +++++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 6a303337..8e744107 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -4733,7 +4733,7 @@ __PACKAGE__->register_method({
            }
 
            # if nothing came up, add it to the allowed nodes
-           if (!$res->{not_allowed_nodes}->{$node}) {
+           if (scalar($res->{not_allowed_nodes}->{$node}->%*) == 0) {
                push $res->{allowed_nodes}->@*, $node;
            }
        }
diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm
index 6909fc82..d6f9132b 100644
--- a/PVE/QemuMigrate.pm
+++ b/PVE/QemuMigrate.pm
@@ -1241,6 +1241,7 @@ sub phase2 {
     $self->log('info', "migrate uri => $migrate_uri failed: $merr") if $merr;
 
     my $last_mem_transferred = 0;
+    my $last_vfio_transferred = 0;
     my $usleep = 1000000;
     my $i = 0;
     my $err_count = 0;
@@ -1300,8 +1301,11 @@ sub phase2 {
            last;
        }
 
-       if ($memstat->{transferred} ne $last_mem_transferred) {
+       if ($memstat->{transferred} ne $last_mem_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;
            my $total = $memstat->{total} || 0;
            my $speed = ($memstat->{'pages-per-second'} // 0) * 
($memstat->{'page-size'} // 0);
@@ -1319,6 +1323,11 @@ sub phase2 {
 
            my $progress = "transferred $transferred_h of $total_h VM-state, 
${speed_h}/s";
 
+           if ($vfio_transferred > 0) {
+               my $vfio_h = render_bytes($vfio_transferred, 1);
+               $progress .= " (+ $vfio_h VFIO-state)";
+           }
+
            if ($dirty_rate > $speed) {
                my $dirty_rate_h = render_bytes($dirty_rate, 1);
                $progress .= ", VM dirties lots of memory: $dirty_rate_h/s";
@@ -1360,6 +1369,7 @@ sub phase2 {
        }
 
        $last_mem_transferred = $memstat->{transferred};
+       $last_vfio_transferred = $stat->{vfio}->{transferred};
     }
 
     if ($self->{storage_migration}) {
-- 
2.39.5



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

Reply via email to