]> git.proxmox.com Git - qemu-server.git/commitdiff
fix: qemu: uninitialized value in multiplication
authorAlwin Antreich <a.antreich@proxmox.com>
Wed, 24 Jul 2019 13:56:43 +0000 (15:56 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 24 Jul 2019 16:41:03 +0000 (18:41 +0200)
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>
PVE/QemuConfig.pm

index 8fae4fc6f2dd07531b43a738a44af136a3a05cde..84d601aecf47693a36419004edfd0c30552428b5 100644 (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";