[pve-devel] [PATCH qemu-server 10/12] backup: include owned CD-ROM volumes
Fiona Ebner
f.ebner at proxmox.com
Tue Mar 4 11:44:11 CET 2025
Currently, all volumes with a 'media=cdrom' marker are excluded from
backup. For owned volumes, this is very surprising. Treat owned CD-ROM
volumes like other volumes and consider the 'backup' marker instead.
Cloud-init volumes are owned, but still skipped, because they are
generated from the configuration/snippets.
Stay compatible with old callers avoiding the need for a versioned
breaks.
Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
---
PVE/QemuConfig.pm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/PVE/QemuConfig.pm b/PVE/QemuConfig.pm
index 43967b43..92b21259 100644
--- a/PVE/QemuConfig.pm
+++ b/PVE/QemuConfig.pm
@@ -172,12 +172,20 @@ sub get_replicatable_volumes {
sub get_backup_volumes {
my ($class, $conf, $vmid) = @_;
+ my $storecfg = PVE::Storage::config();
+
my $return_volumes = [];
my $test_volume = sub {
my ($key, $drive) = @_;
- return if PVE::QemuServer::drive_is_cdrom($drive);
+ if (PVE::QemuServer::Drive::drive_is_cdrom($drive)) {
+ return if !defined($vmid); # for compat - TODO PVE 9 - remove
+ my $owned = PVE::QemuServer::Drive::vm_is_volid_owner($storecfg, $vmid, $drive->{file});
+ my $is_cloudinit = PVE::QemuServer::Drive::drive_is_cloudinit($drive);
+
+ return if !$owned || $is_cloudinit;
+ }
my $included = $drive->{backup} // 1;
my $reason = "backup=";
--
2.39.5
More information about the pve-devel
mailing list