[pve-devel] applied: [PATCH qemu-server] fix: qemu: uninitialized value in multiplication

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Jul 24 18:42:45 CEST 2019


On 7/24/19 3:56 PM, Alwin Antreich wrote:
> 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 at proxmox.com>
> ---
>  PVE/QemuConfig.pm | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/PVE/QemuConfig.pm b/PVE/QemuConfig.pm
> index 8fae4fc..84d601a 100644
> --- a/PVE/QemuConfig.pm
> +++ b/PVE/QemuConfig.pm
> @@ -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";
> 

applied, thanks!




More information about the pve-devel mailing list