diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 327ea35b..b4358b08 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -4741,6 +4741,8 @@ my $snapshot_commit = sub { die "missing snapshot lock\n" if !($conf->{lock} && $conf->{lock} eq 'snapshot'); + my $has_machine_config = defined($conf->{machine}); + my $snap = $conf->{snapshots}->{$snapname}; die "snapshot '$snapname' does not exist\n" if !defined($snap); @@ -4753,6 +4755,8 @@ my $snapshot_commit = sub { my $newconf = &$snapshot_apply_config($conf, $snap); + delete $newconf->{machine} if !$has_machine_config; + $newconf->{parent} = $snapname; update_config_nolock($vmid, $newconf, 1);