[pve-devel] applied: [PATCH qemu-server 2/2] version_guard scsi drive count
Thomas Lamprecht
t.lamprecht at proxmox.com
Wed Feb 12 10:47:30 CET 2020
On 2/10/20 4:05 PM, Stefan Reiter wrote:
> 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.reiter at 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 {
>
applied
More information about the pve-devel
mailing list