[pve-devel] [PATCH qemu-server] improve 'pending changes' message for clone

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Sep 5 11:33:45 CEST 2018


On 9/4/18 3:43 PM, Dominik Csapak wrote:
> $newconf->{pending} is a reference to an empty hash, which is not falsy,
> thus we always printed the warning
> 
> so check if there are actual values there and if yes,
> give the names of the properties for which pending changes are found
> 
> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
> ---
>  PVE/API2/Qemu.pm | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
> index b0af9d9..6cd0726 100644
> --- a/PVE/API2/Qemu.pm
> +++ b/PVE/API2/Qemu.pm
> @@ -2785,8 +2785,9 @@ __PACKAGE__->register_method({
>  		    delete $newconf->{lock};
>  
>  		    # do not write pending changes
> -		    if ($newconf->{pending}) {
> -			warn "found pending changes, discarding for clone\n";
> +		    if ($newconf->{pending} && %{$newconf->{pending}}) {

what about the following 'not really tested but should work'™ approach:

if (my @changes = keys $newconf->{pending}) {
    my $pending = join(',', @changes);
    ...
}

?

> +			my $pending = join(',', keys %{$newconf->{pending}});
> +			warn "found pending changes for '$pending', discarding for clone\n";
>  			delete $newconf->{pending};
>  		    }
>  
> 






More information about the pve-devel mailing list