[pve-devel] [PATCH qemu-server] fix 1046: add non-snapshotted disks as unused
Fabian Grünbichler
f.gruenbichler at proxmox.com
Mon Jul 4 13:04:14 CEST 2016
---
Note: qemu-server part, apply together with common and container part
PVE/QemuConfig.pm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/PVE/QemuConfig.pm b/PVE/QemuConfig.pm
index c9c5e60..3ce95ac 100644
--- a/PVE/QemuConfig.pm
+++ b/PVE/QemuConfig.pm
@@ -264,6 +264,35 @@ sub __snapshot_rollback_vm_start {
PVE::QemuServer::vm_start($storecfg, $vmid, $statefile, undef, undef, undef, $forcemachine);
}
+sub __snapshot_rollback_get_unused {
+ my ($class, $conf, $snap) = @_;
+
+ my $unused = [];
+
+ $class->__snapshot_foreach_volume($conf, sub {
+ my ($vs, $volume) = @_;
+
+ return if PVE::QemuServer::drive_is_cdrom($volume);
+
+ my $found = 0;
+ my $volid = $volume->{file};
+
+ $class->__snapshot_foreach_volume($snap, sub {
+ my ($ds, $drive) = @_;
+
+ return if $found;
+ return if PVE::QemuServer::drive_is_cdrom($drive);
+
+ $found = 1
+ if ($drive->{file} && $drive->{file} eq $volid);
+ });
+
+ push @$unused, $volid if !$found;
+ });
+
+ return $unused;
+}
+
sub __snapshot_foreach_volume {
my ($class, $conf, $func) = @_;
--
2.1.4
More information about the pve-devel
mailing list