From b17e33788dfc24f5d56de1b7a55baa0349a44f67 Mon Sep 17 00:00:00 2001 From: Daniel Kral Date: Tue, 11 Feb 2025 17:08:01 +0100 Subject: [PATCH] fix #5284: api: move-disk: assert content type support for target storage Asserts whether the target storage supports storing VM images before moving a VM volume to the target storage. Without the check in place, a VM volume can be moved to a storage, which does not support VM images, but won't be able to start since any attached volume must be stored on a supported storage. Signed-off-by: Daniel Kral --- PVE/API2/Qemu.pm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index 295260e7..52234afd 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -4233,6 +4233,10 @@ __PACKAGE__->register_method({ die "you can't move to the same storage with same format\n" if $oldstoreid eq $storeid && (!$format || !$oldfmt || $oldfmt eq $format); + my $scfg = PVE::Storage::storage_check_enabled($storecfg, $storeid); + raise_param_exc({ storage => "storage '$storeid' does not support vm images" }) + if !$scfg->{content}->{images}; + # this only checks snapshots because $disk is passed! my $snapshotted = PVE::QemuServer::Drive::is_volume_in_use( $storecfg,