This aligns with the PVE::Storage::BACKUP_EXT_RE_2 regex Signed-off-by: Filip Schauer <f.scha...@proxmox.com> --- src/PVE/Storage.pm | 11 +++++++++-- src/test/list_volumes_test.pm | 10 ++++++++++ src/test/parse_volname_test.pm | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/PVE/Storage.pm b/src/PVE/Storage.pm index d0a696a..6031261 100755 --- a/src/PVE/Storage.pm +++ b/src/PVE/Storage.pm @@ -1720,13 +1720,20 @@ sub extract_vzdump_config_vma { if ($comp) { my $cmd = [ [@$decompressor, $archive], ["vma", "config", "-"] ]; - # lzop/zcat exits with 1 when the pipe is closed early by vma, detect this and ignore the exit code later + # lzop/zcat/zstd/bzcat exits with 1 when the pipe is closed early by vma, + # detect this and ignore the exit code later my $broken_pipe; my $errstring; my $err = sub { my $output = shift; - if ($output =~ m/lzop: Broken pipe: <stdout>/ || $output =~ m/gzip: stdout: Broken pipe/ || $output =~ m/zstd: error 70 : Write error.*Broken pipe/) { + if ( + $output =~ m/lzop: Broken pipe: <stdout>/ + || $output =~ m/gzip: stdout: Broken pipe/ + || $output =~ m/zstd: error 70 : Write error.*Broken pipe/ + || $output =~ m/bzcat: Broken pipe/ + ) { $broken_pipe = 1; + $errstring = ""; } elsif (!defined ($errstring) && $output !~ m/^\s*$/) { $errstring = "Failed to extract config from VMA archive: $output\n"; } diff --git a/src/test/list_volumes_test.pm b/src/test/list_volumes_test.pm index 7b6df6a..5adba03 100644 --- a/src/test/list_volumes_test.pm +++ b/src/test/list_volumes_test.pm @@ -94,6 +94,7 @@ my @tests = ( "$storage_dir/dump/vzdump-qemu-16110-2020_03_30-21_12_45.vma.lzo", "$storage_dir/dump/vzdump-qemu-16110-2020_03_30-21_13_55.vma", "$storage_dir/dump/vzdump-qemu-16110-2020_03_30-21_13_55.vma.zst", + "$storage_dir/dump/vzdump-qemu-16110-2020_03_30-21_15_00.vma.bz2", "$storage_dir/snippets/userconfig.yaml", "$storage_dir/snippets/hookscript.pl", ], @@ -164,6 +165,15 @@ my @tests = ( 'vmid' => '16110', 'volid' => 'local:backup/vzdump-qemu-16110-2020_03_30-21_13_55.vma.zst', }, + { + 'content' => 'backup', + 'ctime' => 1585602900, + 'format' => 'vma.bz2', + 'size' => DEFAULT_SIZE, + 'subtype' => 'qemu', + 'vmid' => '16110', + 'volid' => 'local:backup/vzdump-qemu-16110-2020_03_30-21_15_00.vma.bz2', + }, { 'content' => 'snippets', 'ctime' => DEFAULT_CTIME, diff --git a/src/test/parse_volname_test.pm b/src/test/parse_volname_test.pm index 175500d..0ede982 100644 --- a/src/test/parse_volname_test.pm +++ b/src/test/parse_volname_test.pm @@ -214,7 +214,7 @@ foreach my $s (@$disk_suffix) { # create more test cases for backup files matches my $bkp_suffix = { - qemu => [ 'vma', 'vma.gz', 'vma.lzo', 'vma.zst' ], + qemu => [ 'vma', 'vma.gz', 'vma.lzo', 'vma.zst', 'vma.bz2' ], lxc => [ 'tar', 'tgz', 'tar.gz', 'tar.lzo', 'tar.zst', 'tar.bz2' ], openvz => [ 'tar', 'tgz', 'tar.gz', 'tar.lzo', 'tar.zst' ], }; -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel