5
0
mirror of git://git.proxmox.com/git/qemu-server.git synced 2025-01-21 18:03:56 +03:00

fix: qemu: uninitialized value in multiplication

A generated VM with default values does not set the memory key in the
configuration. Hence the size of the state file for a suspend had only
the default size of the state itself and not in addition twice the
configured memory.

The patch uses the static defaults from the JSON schema if the memory
key is not set.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
This commit is contained in:
Alwin Antreich 2019-07-24 15:56:43 +02:00 committed by Thomas Lamprecht
parent 6af313f6e4
commit 22ea69ca65

View File

@ -137,12 +137,14 @@ sub __snapshot_save_vmstate {
$target = $shared // $local // 'local';
}
my $defaults = PVE::QemuServer::load_defaults();
my $mem_size = $conf->{memory} // $defaults->{memory};
my $driver_state_size = 500; # assume 500MB is enough to safe all driver state;
# our savevm-start does live-save of the memory until the space left in the
# volume is just enough for the remaining memory content + internal state
# then it stops the vm and copies the rest so we reserve twice the
# memory content + state to minimize vm downtime
my $size = $conf->{memory}*2 + $driver_state_size;
my $size = $mem_size*2 + $driver_state_size;
my $scfg = PVE::Storage::storage_config($storecfg, $target);
my $name = "vm-$vmid-state-$snapname";