Otherwise storage_info() cannot be used for (at least) PBS storages from an API call without 'protected => 1', because the password cannot be read from '/etc/pve/priv'. Note that the function itself does not need the storage to be active, because it only uses storage_config() and get_backup_dir().
AFAICT new() is the only existing user of this function and can be responsible for activating the storage itself. Signed-off-by: Fabian Ebner <f.eb...@proxmox.com> --- New in v3 PVE/VZDump.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm index 02858d8e..fb4c8bad 100644 --- a/PVE/VZDump.pm +++ b/PVE/VZDump.pm @@ -106,8 +106,6 @@ sub storage_info { die "can't use storage '$storage' for backups - wrong content type\n" if (!$scfg->{content}->{backup}); - PVE::Storage::activate_storage($cfg, $storage); - my $info = { scfg => $scfg, }; @@ -505,6 +503,13 @@ sub new { my $errors = ''; if ($opts->{storage}) { + my $storage_cfg = PVE::Storage::config(); + eval { PVE::Storage::activate_storage($storage_cfg, $opts->{storage}) }; + if (my $err = $@) { + chomp($err); + $errors .= "could not activate storage '$opts->{storage}': $err"; + } + my $info = eval { storage_info ($opts->{storage}) }; if (my $err = $@) { chomp($err); -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel