[pve-devel] [PATCH/RFC v2 qemu-server 3/3] restore_vma_archive: remove timeout for reading the device map

Fabian Ebner f.ebner at proxmox.com
Wed Aug 12 12:01:27 CEST 2020


If there is no serious problem, it shouldn't be possible to run into
this timeout anyways. It's just (extracting and) reading the header of
the (compressed) vma file. And if there is a serious problem, then the
commands will most likely fail for a different reason, e.g. unable to open,
corrupt vma, etc.

Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---

New in v2

Hope I'm not missing anything important.

 PVE/QemuServer.pm | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 794819b..342114d 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -6162,8 +6162,6 @@ sub restore_vma_archive {
 
     $add_pipe->(['vma', 'extract', '-v', '-r', $mapfifo, $readfrom, $tmpdir]);
 
-    my $timeout = 5;
-
     my $devinfo = {};
 
     my $rpcenv = PVE::RPCEnvironment::get();
@@ -6260,9 +6258,6 @@ sub restore_vma_archive {
 	    local $SIG{QUIT} =
 	    local $SIG{HUP} =
 	    local $SIG{PIPE} = sub { die "interrupted by signal\n"; };
-	local $SIG{ALRM} = sub { die "got timeout reading device map\n"; };
-
-	alarm($timeout);
 
 	my $parser = sub {
 	    my $line = shift;
@@ -6273,7 +6268,6 @@ sub restore_vma_archive {
 		my ($dev_id, $size, $devname) = ($1, $2, $3);
 		$devinfo->{$devname} = { size => $size, dev_id => $dev_id };
 	    } elsif ($line =~ m/^CTIME: /) {
-		alarm(0);
 		&$print_devmap();
 		print $fifofh "done\n";
 		close($fifofh);
@@ -6285,8 +6279,6 @@ sub restore_vma_archive {
     };
     my $err = $@;
 
-    alarm(0);
-
     $restore_deactivate_volumes->($cfg, $devinfo);
 
     unlink $mapfifo;
-- 
2.20.1





More information about the pve-devel mailing list