btrbk: process all snapshots in snapdir (not only related ones)

pull/511/merge
Axel Burri 2022-06-05 19:58:50 +02:00
parent 335e19e238
commit a75765cc9a
1 changed files with 8 additions and 9 deletions

17
btrbk
View File

@ -6649,8 +6649,7 @@ MAIN:
foreach my $svol (vinfo_subsection($sroot, 'subvolume')) {
my $snaproot = vinfo_snapshot_root($svol);
my $snapshot_name = config_key($svol, "snapshot_name") // die;
my @related_snapshots = get_related_snapshots($snaproot, $svol, $snapshot_name);
my @snapshots = @{vinfo_subvol_list($snaproot, readonly => 1, btrbk_direct_leaf => $snapshot_name, sort => 'path')};
my %svol_data = (
vinfo_prefixed_keys("source", $svol),
snapshot_name => $snapshot_name,
@ -6662,7 +6661,7 @@ MAIN:
vinfo_prefixed_keys("snapshot", $_),
_vinfo => $_,
_btrbk_date => $_->{node}{BTRBK_DATE},
}, @related_snapshots;
}, @snapshots;
my %svol_stats_data = (
%svol_data,
@ -6965,15 +6964,15 @@ MAIN:
foreach my $svol (vinfo_subsection($sroot, 'subvolume')) {
my $snaproot = vinfo_snapshot_root($svol);
my $snapshot_basename = config_key($svol, "snapshot_name") // die;
my @related_snapshots = sort({ cmp_date($a->{node}{BTRBK_DATE}, $b->{node}{BTRBK_DATE}) }
get_related_snapshots($snaproot, $svol, $snapshot_basename));
my @snapshots = sort({ cmp_date($a->{node}{BTRBK_DATE}, $b->{node}{BTRBK_DATE}) }
@{vinfo_subvol_list($snaproot, readonly => 1, btrbk_direct_leaf => $snapshot_basename)});
foreach my $droot (vinfo_subsection($svol, 'target')) {
INFO "Checking for missing backups of subvolume \"$svol->{PRINT}\" in \"$droot->{PRINT}/\"";
my @schedule;
my $resume_total = 0;
my $resume_success = 0;
foreach my $snapshot (@related_snapshots)
foreach my $snapshot (@snapshots)
{
if(get_receive_targets($droot, $snapshot, exact => 1, warn => 1)){
DEBUG "Found correlated target of: $snapshot->{PRINT}";
@ -7067,8 +7066,8 @@ MAIN:
my $snaproot = vinfo_snapshot_root($svol);
my $snapshot_basename = config_key($svol, "snapshot_name") // die;
my $target_aborted = 0;
my @related_snapshots = sort({ cmp_date($b->{node}{BTRBK_DATE}, $a->{node}{BTRBK_DATE}) } # sort descending
get_related_snapshots($snaproot, $svol, $snapshot_basename));
my @snapshots = sort({ cmp_date($b->{node}{BTRBK_DATE}, $a->{node}{BTRBK_DATE}) } # sort descending
@{vinfo_subvol_list($snaproot, readonly => 1, btrbk_direct_leaf => $snapshot_basename)});
foreach my $droot (vinfo_subsection($svol, 'target', 1)) {
if(IS_ABORTED($droot)) {
@ -7082,7 +7081,7 @@ MAIN:
# preserve latest common snapshot/backup (for incremental targets)
if(config_key($droot, "incremental")) {
foreach my $snapshot (@related_snapshots) {
foreach my $snapshot (@snapshots) {
my @receive_targets = get_receive_targets($droot, $snapshot, exact => 1);
if(scalar(@receive_targets)) {
DEBUG "Force preserve for latest common snapshot: $snapshot->{PRINT}";