[pve-devel] [PATCH manager] restore default value of 0 for remove/maxfiles
    Fabian Ebner 
    f.ebner at proxmox.com
       
    Fri Nov  6 09:44:21 CET 2020
    
    
  
AFAICT the previous behavior is maxfiles = 1 when it's not set anywhere. 
That's the default value in the VZDump schema.
And that should happen a bit below in the code:
     if (!defined($opts->{'prune-backups'})) {
         my $maxfiles = delete $opts->{maxfiles} // $defaults->{maxfiles};
         $opts->{'prune-backups'} = { 'keep-last' => $maxfiles } if 
$maxfiles;
Or is there some weird perl behavior that makes this not work?
Am 05.11.20 um 16:21 schrieb Stefan Reiter:
> If neither the 'remove' option of vzdump nor the 'maxfiles' option in
> the storage config are set, assume a value of 0, i.e. do not delete
> anything and allow unlimited backups.
> 
> Restores previous behaviour that was broken in 7ab7d6f15f.
> 
> Also fixes a warning about using '== 0' on a non-number type.
> 
> Signed-off-by: Stefan Reiter <s.reiter at proxmox.com>
> ---
>   PVE/VZDump.pm | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm
> index 6873ceaf..517becb1 100644
> --- a/PVE/VZDump.pm
> +++ b/PVE/VZDump.pm
> @@ -474,7 +474,7 @@ sub new {
>   
>   	    if (!defined($opts->{'prune-backups'}) && !defined($opts->{maxfiles})) {
>   		$opts->{'prune-backups'} = $info->{'prune-backups'};
> -		$opts->{maxfiles} = $info->{maxfiles};
> +		$opts->{maxfiles} = $info->{maxfiles} // 0;
>   		if ($opts->{maxfiles} == 0) {
Wouldn't adding a definedness check here be sufficient?
>   		    # zero means keep all, so avoid triggering any remove code path to be safe
>   		    $opts->{remove} = 0;
> 
    
    
More information about the pve-devel
mailing list