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

Suggested-by: Fabian Grünbichler <f.gruenbich...@proxmox.com>
Signed-off-by: Fiona Ebner <f.eb...@proxmox.com>
---
 PVE/API2/Qemu.pm         | 9 +++++++++
 PVE/QemuServer.pm        | 7 +++++++
 PVE/VZDump/QemuServer.pm | 1 +
 3 files changed, 17 insertions(+)

diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index f3ce83d6..e1a3a19f 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -942,6 +942,9 @@ __PACKAGE__->register_method({
        $param->{cpuunits} = PVE::CGroup::clamp_cpu_shares($param->{cpuunits})
            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();
 
        my $filename = PVE::QemuConfig->config_file($vmid);
@@ -1660,6 +1663,9 @@ my $update_vm_api  = sub {
        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');
     raise_param_exc({ skiplock => "Only root may use this option." })
        if $skiplock && $authuser ne 'root@pam';
@@ -3747,6 +3753,9 @@ __PACKAGE__->register_method({
                next if $opt eq 'snapshots' ||  $opt eq 'parent' || $opt eq 
'snaptime' ||
                    $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
                next if $opt =~ m/^unused\d+$/;
 
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 4a57b8b8..61804ae6 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -729,6 +729,13 @@ EODESCR
        description => "List of host cores used to execute guest processes, for 
example: 0,5,8-11",
        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 = {
diff --git a/PVE/VZDump/QemuServer.pm b/PVE/VZDump/QemuServer.pm
index 8c97ee62..8a44a1fd 100644
--- a/PVE/VZDump/QemuServer.pm
+++ b/PVE/VZDump/QemuServer.pm
@@ -249,6 +249,7 @@ sub assemble {
            next;
        }
        next if $line =~ m/^lock:/ || $line =~ m/^parent:/;
+       next if $line =~ m/^fleecing-images:/;
 
        print $outfd $line;
     }
-- 
2.39.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to