btrbk: add "match" target for deprecated options

pull/427/head
Axel Burri 2021-08-19 17:13:49 +02:00
parent ad6298bf37
commit 1cb958ee30
1 changed files with 8 additions and 8 deletions

16
btrbk
View File

@ -4214,14 +4214,16 @@ sub append_config_option($$$$;@)
} }
if($opt->{deprecated}) { if($opt->{deprecated}) {
if(my $warn_msg = ($opt->{deprecated}->{$value}->{warn} || $opt->{deprecated}->{DEFAULT}->{warn})) { my $dh = $opt->{deprecated}{$value} // $opt->{deprecated}{DEFAULT} // {};
$dh = $opt->{deprecated}{MATCH} if($opt->{deprecated}{MATCH} && ($value =~ $opt->{deprecated}{MATCH}{regex}));
if(my $warn_msg = $dh->{warn}) {
WARN "Found deprecated option \"$key $value\" $error_statement: $warn_msg"; WARN "Found deprecated option \"$key $value\" $error_statement: $warn_msg";
} }
if($opt->{deprecated}->{$value}->{ABORT} || $opt->{deprecated}->{DEFAULT}->{ABORT}) { if($dh->{ABORT}) {
ERROR "Deprecated (incompatible) option \"$key\" found $error_statement, refusing to continue"; ERROR "Deprecated (incompatible) option \"$key\" found $error_statement, refusing to continue";
return undef; return undef;
} }
if($opt->{deprecated}->{$value}->{FAILSAFE_PRESERVE} || $opt->{deprecated}->{DEFAULT}->{FAILSAFE_PRESERVE}) { if($dh->{FAILSAFE_PRESERVE}) {
unless($config_override{FAILSAFE_PRESERVE}) { # warn only once unless($config_override{FAILSAFE_PRESERVE}) { # warn only once
WARN "Entering failsafe mode:"; WARN "Entering failsafe mode:";
WARN " - preserving ALL snapshots for ALL subvolumes"; WARN " - preserving ALL snapshots for ALL subvolumes";
@ -4232,11 +4234,9 @@ sub append_config_option($$$$;@)
$config_override{snapshot_preserve_min} = 'all'; $config_override{snapshot_preserve_min} = 'all';
return $config; return $config;
} }
my $replace_key = $opt->{deprecated}->{$value}->{replace_key}; if(defined($dh->{replace_key})) {
my $replace_value = $opt->{deprecated}->{$value}->{replace_value}; $key = $dh->{replace_key};
if(defined($replace_key)) { $value = $dh->{replace_value};
$key = $replace_key;
$value = $replace_value;
WARN "Using \"$key $value\""; WARN "Using \"$key $value\"";
} }
} }