list volumes: also return backup type for backups

Otherwise, there is no storage-agnostic way to filter by backup group.

Call it subtype, to not confuse it with content type, and to be able
to re-use it for other content types than backup, if the need ever
arises.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
Fabian Ebner
2021-12-16 13:12:23 +01:00
committed by Thomas Lamprecht
parent 5ef50a8262
commit c66e0b8a0a
3 changed files with 12 additions and 0 deletions

View File

@ -688,6 +688,7 @@ sub list_volumes {
content => 'backup', content => 'backup',
vmid => int($bid), vmid => int($bid),
ctime => $epoch, ctime => $epoch,
subtype => $btype eq 'vm' ? 'qemu' : 'lxc', # convert to PVE backup type
}; };
$info->{verification} = $item->{verification} if defined($item->{verification}); $info->{verification} = $item->{verification} if defined($item->{verification});

View File

@ -1164,6 +1164,7 @@ my $get_subdir_files = sub {
my $archive_info = eval { PVE::Storage::archive_info($fn) } // {}; my $archive_info = eval { PVE::Storage::archive_info($fn) } // {};
$info->{ctime} = $archive_info->{ctime} if defined($archive_info->{ctime}); $info->{ctime} = $archive_info->{ctime} if defined($archive_info->{ctime});
$info->{subtype} = $archive_info->{type} // 'unknown';
if (defined($vmid) || $fn =~ m!\-([1-9][0-9]{2,8})\-[^/]+\.${format}$!) { if (defined($vmid) || $fn =~ m!\-([1-9][0-9]{2,8})\-[^/]+\.${format}$!) {
$info->{vmid} = $vmid // $1; $info->{vmid} = $vmid // $1;

View File

@ -133,6 +133,7 @@ my @tests = (
'ctime' => 1585602700, 'ctime' => 1585602700,
'format' => 'vma.gz', 'format' => 'vma.gz',
'size' => DEFAULT_SIZE, 'size' => DEFAULT_SIZE,
'subtype' => 'qemu',
'vmid' => '16110', 'vmid' => '16110',
'volid' => 'local:backup/vzdump-qemu-16110-2020_03_30-21_11_40.vma.gz', 'volid' => 'local:backup/vzdump-qemu-16110-2020_03_30-21_11_40.vma.gz',
}, },
@ -141,6 +142,7 @@ my @tests = (
'ctime' => 1585602765, 'ctime' => 1585602765,
'format' => 'vma.lzo', 'format' => 'vma.lzo',
'size' => DEFAULT_SIZE, 'size' => DEFAULT_SIZE,
'subtype' => 'qemu',
'vmid' => '16110', 'vmid' => '16110',
'volid' => 'local:backup/vzdump-qemu-16110-2020_03_30-21_12_45.vma.lzo', 'volid' => 'local:backup/vzdump-qemu-16110-2020_03_30-21_12_45.vma.lzo',
}, },
@ -149,6 +151,7 @@ my @tests = (
'ctime' => 1585602835, 'ctime' => 1585602835,
'format' => 'vma', 'format' => 'vma',
'size' => DEFAULT_SIZE, 'size' => DEFAULT_SIZE,
'subtype' => 'qemu',
'vmid' => '16110', 'vmid' => '16110',
'volid' => 'local:backup/vzdump-qemu-16110-2020_03_30-21_13_55.vma', 'volid' => 'local:backup/vzdump-qemu-16110-2020_03_30-21_13_55.vma',
}, },
@ -157,6 +160,7 @@ my @tests = (
'ctime' => 1585602835, 'ctime' => 1585602835,
'format' => 'vma.zst', 'format' => 'vma.zst',
'size' => DEFAULT_SIZE, 'size' => DEFAULT_SIZE,
'subtype' => 'qemu',
'vmid' => '16110', 'vmid' => '16110',
'volid' => 'local:backup/vzdump-qemu-16110-2020_03_30-21_13_55.vma.zst', 'volid' => 'local:backup/vzdump-qemu-16110-2020_03_30-21_13_55.vma.zst',
}, },
@ -202,6 +206,7 @@ my @tests = (
'ctime' => 1585604370, 'ctime' => 1585604370,
'format' => 'tar.lzo', 'format' => 'tar.lzo',
'size' => DEFAULT_SIZE, 'size' => DEFAULT_SIZE,
'subtype' => 'lxc',
'vmid' => '16112', 'vmid' => '16112',
'volid' => 'local:backup/vzdump-lxc-16112-2020_03_30-21_39_30.tar.lzo', 'volid' => 'local:backup/vzdump-lxc-16112-2020_03_30-21_39_30.tar.lzo',
}, },
@ -210,6 +215,7 @@ my @tests = (
'ctime' => 1585604970, 'ctime' => 1585604970,
'format' => 'tar.gz', 'format' => 'tar.gz',
'size' => DEFAULT_SIZE, 'size' => DEFAULT_SIZE,
'subtype' => 'lxc',
'vmid' => '16112', 'vmid' => '16112',
'volid' => 'local:backup/vzdump-lxc-16112-2020_03_30-21_49_30.tar.gz', 'volid' => 'local:backup/vzdump-lxc-16112-2020_03_30-21_49_30.tar.gz',
}, },
@ -218,6 +224,7 @@ my @tests = (
'ctime' => 1585604970, 'ctime' => 1585604970,
'format' => 'tar.zst', 'format' => 'tar.zst',
'size' => DEFAULT_SIZE, 'size' => DEFAULT_SIZE,
'subtype' => 'lxc',
'vmid' => '16112', 'vmid' => '16112',
'volid' => 'local:backup/vzdump-lxc-16112-2020_03_30-21_49_30.tar.zst', 'volid' => 'local:backup/vzdump-lxc-16112-2020_03_30-21_49_30.tar.zst',
}, },
@ -226,6 +233,7 @@ my @tests = (
'ctime' => 1585605570, 'ctime' => 1585605570,
'format' => 'tgz', 'format' => 'tgz',
'size' => DEFAULT_SIZE, 'size' => DEFAULT_SIZE,
'subtype' => 'lxc',
'vmid' => '16112', 'vmid' => '16112',
'volid' => 'local:backup/vzdump-lxc-16112-2020_03_30-21_59_30.tgz', 'volid' => 'local:backup/vzdump-lxc-16112-2020_03_30-21_59_30.tgz',
}, },
@ -368,6 +376,7 @@ my @tests = (
'ctime' => 1580759863, 'ctime' => 1580759863,
'format' => 'tar.gz', 'format' => 'tar.gz',
'size' => DEFAULT_SIZE, 'size' => DEFAULT_SIZE,
'subtype' => 'lxc',
'vmid' => '19253', 'vmid' => '19253',
'volid' => 'local:backup/vzdump-lxc-19253-2020_02_03-19_57_43.tar.gz', 'volid' => 'local:backup/vzdump-lxc-19253-2020_02_03-19_57_43.tar.gz',
}, },
@ -376,6 +385,7 @@ my @tests = (
'ctime' => 1548098959, 'ctime' => 1548098959,
'format' => 'tar', 'format' => 'tar',
'size' => DEFAULT_SIZE, 'size' => DEFAULT_SIZE,
'subtype' => 'lxc',
'vmid' => '19254', 'vmid' => '19254',
'volid' => 'local:backup/vzdump-lxc-19254-2019_01_21-19_29_19.tar', 'volid' => 'local:backup/vzdump-lxc-19254-2019_01_21-19_29_19.tar',
}, },