storage_check_enabled simply checks for the 'disable' option and then calls storage_check_node.
While not strictly necessary for a second call where only the storage differs, e.g. in case of clone, it is more future-proof: if support for a target storage is added at some point, it might be easy to miss adapting the call. For the migration checks, the situation is improved by now always catching disabled (target) storages. Signed-off-by: Fabian Ebner <f.eb...@proxmox.com> --- PVE/API2/Qemu.pm | 4 ++-- PVE/QemuMigrate.pm | 10 +++++----- PVE/QemuServer.pm | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index bc313f9..eeb07d1 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -3024,7 +3024,7 @@ __PACKAGE__->register_method({ PVE::Storage::storage_check_enabled($storecfg, $storage); if ($target) { # check if storage is available on target node - PVE::Storage::storage_check_node($storecfg, $storage, $target); + PVE::Storage::storage_check_enabled($storecfg, $storage, $target); # clone only works if target storage is shared my $scfg = PVE::Storage::storage_config($storecfg, $storage); die "can't clone to non-shared storage '$storage'\n" if !$scfg->{shared}; @@ -3687,7 +3687,7 @@ __PACKAGE__->register_method({ if (my $targetstorage = $param->{targetstorage}) { my $check_storage = sub { my ($target_sid) = @_; - PVE::Storage::storage_check_node($storecfg, $target_sid, $target); + PVE::Storage::storage_check_enabled($storecfg, $target_sid, $target); $rpcenv->check($authuser, "/storage/$target_sid", ['Datastore.AllocateSpace']); my $scfg = PVE::Storage::storage_config($storecfg, $target_sid); raise_param_exc({ targetstorage => "storage '$target_sid' does not support vm images"}) diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm index 6375a15..2576196 100644 --- a/PVE/QemuMigrate.pm +++ b/PVE/QemuMigrate.pm @@ -340,8 +340,8 @@ sub prepare { # check if storage is available on both nodes my $targetsid = PVE::QemuServer::map_storage($self->{opts}->{storagemap}, $sid); - my $scfg = PVE::Storage::storage_check_node($self->{storecfg}, $sid); - PVE::Storage::storage_check_node($self->{storecfg}, $targetsid, $self->{node}); + my $scfg = PVE::Storage::storage_check_enabled($self->{storecfg}, $sid); + PVE::Storage::storage_check_enabled($self->{storecfg}, $targetsid, $self->{node}); if ($scfg->{shared}) { # PVE::Storage::activate_storage checks this for non-shared storages @@ -402,7 +402,7 @@ sub scan_local_volumes { my $targetsid = PVE::QemuServer::map_storage($self->{opts}->{storagemap}, $storeid); # check if storage is available on target node - PVE::Storage::storage_check_node($storecfg, $targetsid, $self->{node}); + PVE::Storage::storage_check_enabled($storecfg, $targetsid, $self->{node}); # grandfather in existing mismatches if ($targetsid ne $storeid) { @@ -467,8 +467,8 @@ sub scan_local_volumes { my $targetsid = PVE::QemuServer::map_storage($self->{opts}->{storagemap}, $sid); # check if storage is available on both nodes - my $scfg = PVE::Storage::storage_check_node($storecfg, $sid); - PVE::Storage::storage_check_node($storecfg, $targetsid, $self->{node}); + my $scfg = PVE::Storage::storage_check_enabled($storecfg, $sid); + PVE::Storage::storage_check_enabled($storecfg, $targetsid, $self->{node}); return if $scfg->{shared}; diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 6d9cf2d..bd00af3 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2456,8 +2456,8 @@ sub check_storage_availability { return if !$sid; # check if storage is available on both nodes - my $scfg = PVE::Storage::storage_check_node($storecfg, $sid); - PVE::Storage::storage_check_node($storecfg, $sid, $node); + my $scfg = PVE::Storage::storage_check_enabled($storecfg, $sid); + PVE::Storage::storage_check_enabled($storecfg, $sid, $node); }); } -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel