[pve-devel] [PATCH qemu-server] fix #6317: backup: use correct cleanup_fleecing_images helper
Wolfgang Bumiller
w.bumiller at proxmox.com
Mon Apr 14 13:59:53 CEST 2025
The local one is specific for `allocate_fleecing_images` and has a
comment stating to use the one from `PVE::QemuConfig` in all other
cases.
The `cleanup` sub already called this, but only if the VM was running.
We do allocate fleecing images for previously-stopped VMs as well,
though, so we also need to do the cleanup.
As for the `detach_fleecing_images()` call: while could have stayed in
the `vm_running_locall()` branch, it also performs this check and this
way the entire fleecing cleanup stays together in one place.
Signed-off-by: Wolfgang Bumiller <w.bumiller at proxmox.com>
---
PVE/VZDump/QemuServer.pm | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/PVE/VZDump/QemuServer.pm b/PVE/VZDump/QemuServer.pm
index 4860798e..10514f75 100644
--- a/PVE/VZDump/QemuServer.pm
+++ b/PVE/VZDump/QemuServer.pm
@@ -1267,15 +1267,17 @@ sub cleanup {
}
$detach_tpmstate_drive->($task, $vmid);
- if ($task->{'use-fleecing'}) {
+ }
+
+ if ($task->{'use-fleecing'}) {
+ eval {
detach_fleecing_images($task->{disks}, $vmid);
PVE::QemuConfig::cleanup_fleecing_images(
$vmid, $self->{storecfg}, sub { $self->log($_[0], $_[1]); });
- }
+ };
+ $self->log('warn', "attempt to clean up fleecing images failed - $@") if $@;
}
- cleanup_fleecing_images($self, $task->{disks}) if $task->{'use-fleecing'};
-
if ($self->{qmeventd_fh}) {
close($self->{qmeventd_fh});
}
--
2.39.5
More information about the pve-devel
mailing list