]> git.proxmox.com Git - qemu-server.git/blobdiff - PVE/QemuServer.pm
Fix #1924: add snapshot parameter
[qemu-server.git] / PVE / QemuServer.pm
index c85876fd320719a96d5d320909952cae3e2c996b..3b642863fce715d55b66d3393fa48f480e71071b 100644 (file)
@@ -3553,7 +3553,7 @@ sub config_to_command {
        if ($d->{'x-vga'}) {
            $xvga = ',x-vga=on';
            $kvm_off = 1;
-           $vga->{type} = 'none';
+           $vga->{type} = 'none' if !defined($conf->{vga});
            $gpu_passthrough = 1;
 
            if ($conf->{bios} && $conf->{bios} eq 'ovmf') {
@@ -5372,10 +5372,21 @@ sub vm_human_monitor_command {
 }
 
 sub vm_commandline {
-    my ($storecfg, $vmid) = @_;
+    my ($storecfg, $vmid, $snapname) = @_;
 
     my $conf = PVE::QemuConfig->load_config($vmid);
 
+    if ($snapname) {
+       my $snapshot = $conf->{snapshots}->{$snapname};
+       die "snapshot '$snapname' does not exist\n"
+           if !defined($snapshot);
+       my $digest = $conf->{digest};
+
+       # we need the digest of the file
+       $snapshot->{digest} = $conf->{digest};
+       $conf = $snapshot;
+    }
+
     my $defaults = load_defaults();
 
     my $cmd = config_to_command($storecfg, $vmid, $conf, $defaults);