Signed-off-by: Fabian Ebner <f.eb...@proxmox.com>
---
 PVE/QemuConfig.pm | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/PVE/QemuConfig.pm b/PVE/QemuConfig.pm
index b0dc3b9..b6a465e 100644
--- a/PVE/QemuConfig.pm
+++ b/PVE/QemuConfig.pm
@@ -394,7 +394,7 @@ sub __snapshot_rollback_get_unused {
 
     my $unused = [];
 
-    $class->__snapshot_foreach_volume($conf, sub {
+    $class->snapshot_foreach_volume($conf, undef, sub {
        my ($vs, $volume) = @_;
 
        return if PVE::QemuServer::drive_is_cdrom($volume);
@@ -402,7 +402,7 @@ sub __snapshot_rollback_get_unused {
        my $found = 0;
        my $volid = $volume->{file};
 
-       $class->__snapshot_foreach_volume($snap, sub {
+       $class->snapshot_foreach_volume($snap, undef, sub {
            my ($ds, $drive) = @_;
 
            return if $found;
@@ -418,10 +418,19 @@ sub __snapshot_rollback_get_unused {
     return $unused;
 }
 
-sub __snapshot_foreach_volume {
-    my ($class, $conf, $func) = @_;
+sub snapshot_foreach_volume {
+    my ($class, $conf, $opts, $func, @param) = @_;
 
-    PVE::QemuServer::foreach_drive($conf, $func);
+    PVE::QemuServer::foreach_drive($conf, $func, @param);
+
+    if ($opts->{include_unused}) {
+       $class->snapshot_foreach_unused_volume($conf, $func, @param);
+    }
+
+    if ($opts->{include_vmstate} && defined($conf->{vmstate})) {
+       my $volume = $class->parse_volume('vmstate', $conf->{vmstate}, 1);
+       $func->('vmstate', $volume, @param);
+    }
 }
 # END implemented abstract methods from PVE::AbstractConfig
 
-- 
2.20.1


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

Reply via email to