diff --git a/PVE/QemuConfig.pm b/PVE/QemuConfig.pm index edbf1a7c..e9796a39 100644 --- a/PVE/QemuConfig.pm +++ b/PVE/QemuConfig.pm @@ -359,8 +359,7 @@ sub __snapshot_rollback_vm_start { my ($class, $vmid, $vmstate, $data) = @_; my $storecfg = PVE::Storage::config(); - my $statefile = PVE::Storage::path($storecfg, $vmstate); - PVE::QemuServer::vm_start($storecfg, $vmid, $statefile, undef, undef, undef, $data->{forcemachine}); + PVE::QemuServer::vm_start($storecfg, $vmid, $vmstate, undef, undef, undef, $data->{forcemachine}); } sub __snapshot_rollback_get_unused { diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index a3c1e04f..edb49bc7 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -5462,8 +5462,12 @@ sub vm_start { push @$cmd, '-incoming', $migrate_uri; push @$cmd, '-S'; - } else { + } elsif (-e $statefile) { push @$cmd, '-loadstate', $statefile; + } else { + my $statepath = PVE::Storage::path($storecfg, $statefile); + push @$vollist, $statepath; + push @$cmd, '-loadstate', $statepath; } } elsif ($paused) { push @$cmd, '-S';