]> git.proxmox.com Git - pve-storage.git/commitdiff
fix #4189: pbs: bump list_volumes timeout to 2mins
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Wed, 17 Aug 2022 10:32:37 +0000 (12:32 +0200)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Wed, 17 Aug 2022 11:12:49 +0000 (13:12 +0200)
When switching this from calling the external binary to
using the perl api client the timeout got reduced to 7
seconds, which is definitely insufficient for larger stores.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
PVE/Storage/PBSPlugin.pm

index afc6ea408d282a6fbc4c4375b4c219bef24f4688..603529faccd34208462f8b96543f03c17ef36941 100644 (file)
@@ -688,7 +688,7 @@ my sub snapshot_files_encrypted {
 # TODO: use a client with native rust/proxmox-backup bindings to profit from
 # API schema checks and types
 my sub pbs_api_connect {
-    my ($scfg, $password) = @_;
+    my ($scfg, $password, $timeout) = @_;
 
     my $params = {};
 
@@ -709,7 +709,7 @@ my sub pbs_api_connect {
        %$params,
        host => $scfg->{server},
        port => $scfg->{port} // 8007,
-       timeout => 7, # cope with a 401 (3s api delay) and high latency
+       timeout => ($timeout // 7), # cope with a 401 (3s api delay) and high latency
        cookie_name => 'PBSAuthCookie',
     );
 
@@ -724,7 +724,7 @@ sub list_volumes {
     return $res if !grep { $_ eq 'backup' } @$content_types;
 
     my $password = pbs_get_password($scfg, $storeid);
-    my $conn = pbs_api_connect($scfg, $password);
+    my $conn = pbs_api_connect($scfg, $password, 120);
     my $datastore = $scfg->{datastore};
 
     my $param = {};