the default is 'auto', but for those which are marked as capable for
live migration, we want to explicitly enable that, so we get an early
error on start if the driver does not support that.

Signed-off-by: Dominik Csapak <[email protected]>
---
 PVE/QemuServer/PCI.pm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/PVE/QemuServer/PCI.pm b/PVE/QemuServer/PCI.pm
index ad6d5ff6..20c48f1c 100644
--- a/PVE/QemuServer/PCI.pm
+++ b/PVE/QemuServer/PCI.pm
@@ -443,8 +443,11 @@ sub parse_hostpci {
        my $config = PVE::Mapping::PCI::config();
        my $devices = get_current_node_mapping($config, $mapping);
 
+       my $cfg = $config->{ids}->{$mapping};
+       $res->{'live-migration-capable'} = 1 if 
$cfg->{'live-migration-capable'};
+
        for my $device ($devices->@*) {
-           eval { PVE::Mapping::PCI::assert_valid($mapping, $device, 
$config->{ids}->{$mapping}) };
+           eval { PVE::Mapping::PCI::assert_valid($mapping, $device, $cfg) };
            die "PCI device mapping invalid (hardware probably changed): $@\n" 
if $@;
            push $alternatives->@*, [split(/;/, $device->{path})];
        }
@@ -701,6 +704,10 @@ sub print_hostpci_devices {
                $devicestr .= ",host=$pcidevice->{id}";
            }
 
+           if ($d->{'live-migration-capable'}) {
+               $devicestr .= ",enable-migration=on"
+           }
+
            my $mf_addr = $multifunction ? ".$j" : '';
            $devicestr .= ",id=${id}${mf_addr}${pciaddr}${mf_addr}";
 
-- 
2.39.5



_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to