ui: backup: also check for backup subtype to classify archive

In anticipation of future storage plugins that might not have
PBS-specific formats or adhere to the vzdump naming scheme for
backups.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Tested-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Reviewed-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Link: https://lore.proxmox.com/20250404133204.239783-29-f.ebner@proxmox.com
This commit is contained in:
Fiona Ebner 2025-04-04 15:32:03 +02:00 committed by Thomas Lamprecht
parent 93cbef3804
commit 3f82460304
3 changed files with 10 additions and 8 deletions

View File

@ -694,12 +694,14 @@ Ext.define('PVE.Utils', {
'import': gettext('Import'), 'import': gettext('Import'),
}, },
volume_is_qemu_backup: function(volid, format) { volume_is_qemu_backup: function(volume) {
return format === 'pbs-vm' || volid.match(':backup/vzdump-qemu-'); return volume.format === 'pbs-vm' || volume.volid.match(':backup/vzdump-qemu-') ||
volume.subtype === 'qemu';
}, },
volume_is_lxc_backup: function(volid, format) { volume_is_lxc_backup: function(volume) {
return format === 'pbs-ct' || volid.match(':backup/vzdump-(lxc|openvz)-'); return volume.format === 'pbs-ct' || volume.volid.match(':backup/vzdump-(lxc|openvz)-') ||
volume.subtype === 'lxc';
}, },
authSchema: { authSchema: {

View File

@ -29,11 +29,11 @@ Ext.define('PVE.grid.BackupView', {
var vmtypeFilter; var vmtypeFilter;
if (vmtype === 'lxc' || vmtype === 'openvz') { if (vmtype === 'lxc' || vmtype === 'openvz') {
vmtypeFilter = function(item) { vmtypeFilter = function(item) {
return PVE.Utils.volume_is_lxc_backup(item.data.volid, item.data.format); return PVE.Utils.volume_is_lxc_backup(item.data);
}; };
} else if (vmtype === 'qemu') { } else if (vmtype === 'qemu') {
vmtypeFilter = function(item) { vmtypeFilter = function(item) {
return PVE.Utils.volume_is_qemu_backup(item.data.volid, item.data.format); return PVE.Utils.volume_is_qemu_backup(item.data);
}; };
} else { } else {
throw "unsupported VM type '" + vmtype + "'"; throw "unsupported VM type '" + vmtype + "'";

View File

@ -86,9 +86,9 @@ Ext.define('PVE.storage.BackupView', {
disabled: true, disabled: true,
handler: function(b, e, rec) { handler: function(b, e, rec) {
let vmtype; let vmtype;
if (PVE.Utils.volume_is_qemu_backup(rec.data.volid, rec.data.format)) { if (PVE.Utils.volume_is_qemu_backup(rec.data)) {
vmtype = 'qemu'; vmtype = 'qemu';
} else if (PVE.Utils.volume_is_lxc_backup(rec.data.volid, rec.data.format)) { } else if (PVE.Utils.volume_is_lxc_backup(rec.data)) {
vmtype = 'lxc'; vmtype = 'lxc';
} else { } else {
return; return;