From 0d2db084140cbbf4792efec1c96186eb8a622d0e Mon Sep 17 00:00:00 2001 From: Fabian Ebner Date: Fri, 18 Jun 2021 12:59:33 +0200 Subject: [PATCH] prefer storage_check_enabled over storage_check_node 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 --- 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 bc313f91..eeb07d1d 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 6375a158..25761968 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 6962d7d2..5ce3dd49 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2458,8 +2458,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); }); }