From 3f11f0d7e25ca8540b1f8acdd64c766a681828d2 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Tue, 22 Jun 2021 14:30:30 +0200 Subject: [PATCH] vm_start: check if storages of volumes support correct content-type Signed-off-by: Lorenz Stechauner --- PVE/QemuServer.pm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 07dd14a1..36f7af80 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -3615,6 +3615,7 @@ sub config_to_command { my ($ds, $drive) = @_; if (PVE::Storage::parse_volume_id($drive->{file}, 1)) { + check_volume_storage_type($storecfg, $drive->{file}); push @$vollist, $drive->{file}; } @@ -7744,4 +7745,17 @@ sub vm_is_paused { return $qmpstatus && $qmpstatus->{status} eq "paused"; } +sub check_volume_storage_type { + my ($storecfg, $vol) = @_; + + my ($storeid, $volname) = PVE::Storage::parse_volume_id($vol); + my $scfg = PVE::Storage::storage_config($storecfg, $storeid); + my ($vtype) = PVE::Storage::parse_volname($storecfg, $vol); + + die "storage '$storeid' does not support content-type '$vtype'\n" + if !$scfg->{content}->{$vtype}; + + return 1; +} + 1;