diff --git a/btrbk b/btrbk index 47a89b8..6b45609 100755 --- a/btrbk +++ b/btrbk @@ -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}";