Live-migrating a VM with more than 14 SCSI disks to a node that doesn't support it yet is broken. Use a bumped pve-version to represent that and give the user a nice error message instead.
Signed-off-by: Stefan Reiter <s.rei...@proxmox.com> --- This is more for correctness, since older versions (i.e. ones that don't support this feature) do not include the code to die with a useful message. It does, however, give a nice example of how $version_guard is supposed to be used. PVE/QemuServer.pm | 3 +++ PVE/QemuServer/Machine.pm | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 37ffc86..27b9866 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -3931,6 +3931,9 @@ sub config_to_command { my ($maxdev, $controller, $controller_prefix) = scsihw_infos($conf, $drive); + die "scsi$drive->{index}: machine version 4.1~pve2 or higher is required to use more than 14 SCSI disks\n" + if $drive->{index} > 13 && !&$version_guard(4, 1, 2); + $pciaddr = print_pci_addr("$controller_prefix$controller", $bridges, $arch, $machine_type); my $scsihw_type = $scsihw =~ m/^virtio-scsi-single/ ? "virtio-scsi-pci" : $scsihw; diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm index 9fbe9a8..0817d2a 100644 --- a/PVE/QemuServer/Machine.pm +++ b/PVE/QemuServer/Machine.pm @@ -9,7 +9,7 @@ use PVE::QemuServer::Monitor; # Bump this for VM HW layout changes during a release (where the QEMU machine # version stays the same) our $PVE_MACHINE_VERSION = { - '4.1' => 1, + '4.1' => 2, }; sub machine_type_is_q35 { -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel