schema: add fleecing-images config property

to be used internally to record volume IDs of fleecing images
allocated during backup.

Suggested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
This commit is contained in:
Fiona Ebner 2024-11-11 14:54:33 +01:00 committed by Thomas Lamprecht
parent f6a390ed08
commit fca0ba5d77
3 changed files with 17 additions and 0 deletions

View File

@ -968,6 +968,9 @@ __PACKAGE__->register_method({
$param->{cpuunits} = PVE::CGroup::clamp_cpu_shares($param->{cpuunits}) $param->{cpuunits} = PVE::CGroup::clamp_cpu_shares($param->{cpuunits})
if defined($param->{cpuunits}); # clamp value depending on cgroup version if defined($param->{cpuunits}); # clamp value depending on cgroup version
raise_param_exc({ 'fleecing-images' => "Cannot set option - for internal use only." })
if $param->{'fleecing-images'};
PVE::Cluster::check_cfs_quorum(); PVE::Cluster::check_cfs_quorum();
my $filename = PVE::QemuConfig->config_file($vmid); my $filename = PVE::QemuConfig->config_file($vmid);
@ -1681,6 +1684,9 @@ my $update_vm_api = sub {
push @paramarr, "-$key", $value; push @paramarr, "-$key", $value;
} }
raise_param_exc({ 'fleecing-images' => "Cannot set option - for internal use only." })
if $param->{'fleecing-images'};
my $skiplock = extract_param($param, 'skiplock'); my $skiplock = extract_param($param, 'skiplock');
raise_param_exc({ skiplock => "Only root may use this option." }) raise_param_exc({ skiplock => "Only root may use this option." })
if $skiplock && $authuser ne 'root@pam'; if $skiplock && $authuser ne 'root@pam';
@ -3795,6 +3801,9 @@ __PACKAGE__->register_method({
next if $opt eq 'snapshots' || $opt eq 'parent' || $opt eq 'snaptime' || next if $opt eq 'snapshots' || $opt eq 'parent' || $opt eq 'snaptime' ||
$opt eq 'vmstate' || $opt eq 'snapstate'; $opt eq 'vmstate' || $opt eq 'snapstate';
# left-overs, not cloned
next if $opt eq 'fleecing-images';
# no need to copy unused images, because VMID(owner) changes anyways # no need to copy unused images, because VMID(owner) changes anyways
next if $opt =~ m/^unused\d+$/; next if $opt =~ m/^unused\d+$/;

View File

@ -733,6 +733,13 @@ EODESCR
description => "List of host cores used to execute guest processes, for example: 0,5,8-11", description => "List of host cores used to execute guest processes, for example: 0,5,8-11",
optional => 1, optional => 1,
}, },
'fleecing-images' => {
type => 'string',
format => 'pve-volume-id-list',
description => "For internal use only. List of fleecing images allocated during backup."
." If no backup is running, these are left-overs that failed to be removed.",
optional => 1,
},
}; };
my $cicustom_fmt = { my $cicustom_fmt = {

View File

@ -252,6 +252,7 @@ sub assemble {
next; next;
} }
next if $line =~ m/^lock:/ || $line =~ m/^parent:/; next if $line =~ m/^lock:/ || $line =~ m/^parent:/;
next if $line =~ m/^fleecing-images:/;
print $outfd $line; print $outfd $line;
} }