[pve-devel] [PATCH qemu-server v2 14/15] api: migrate_vm: use volume content type assertion helpers
Fiona Ebner
f.ebner at proxmox.com
Fri Feb 21 10:45:18 CET 2025
Am 20.02.25 um 18:50 schrieb Daniel Kral:
> On 2/20/25 15:46, Fiona Ebner wrote:
>> Am 11.02.25 um 17:08 schrieb Daniel Kral:
>>> diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm
>>> index ed5ede30..827e54b7 100644
>>> --- a/PVE/QemuMigrate.pm
>>> +++ b/PVE/QemuMigrate.pm
>>> @@ -158,15 +158,13 @@ sub target_storage_check_available {
>>> my ($self, $storecfg, $targetsid, $volid) = @_;
>>> if (!$self->{opts}->{remote}) {
>>> - # check if storage is available on target node
>>> - my $target_scfg = PVE::Storage::storage_check_enabled(
>>> - $storecfg,
>>> - $targetsid,
>>> - $self->{node},
>>> - );
>>> - my ($vtype) = PVE::Storage::parse_volname($storecfg, $volid);
>>> - die "$volid: content type '$vtype' is not available on storage
>>> '$targetsid'\n"
>>> - if !$target_scfg->{content}->{$vtype};
>>> + # check if storage is available on target node and supports the
>>> volume's content type
>>> + eval {
>>> + PVE::Storage::storage_check_enabled($storecfg, $targetsid,
>>> $self->{node});
>>> + my ($vtype) = PVE::Storage::parse_volname($storecfg, $volid);
>>> + PVE::Storage::assert_content_type_supported($storecfg,
>>> $targetsid, $vtype);
>>
>> (In v3) this needs to pass along the node. And could use
>> assert_volume_type_supported() or?
>
> Except I'm missing something, in this case not, because we do want to
> check whether the target storage $targetsid supports the content type,
> but `assert_volume_type_supported` would check whether the current
> storage of the volume supports the content type, not the target one.
Right :) Would be nice to have a short code comment for this to avoid
the question in the future.
More information about the pve-devel
mailing list