btrbk: extents-diff: always display set-exclusive size

pull/358/head
Axel Burri 2020-11-08 23:22:01 +01:00
parent e3987866d3
commit 63def23feb
1 changed files with 10 additions and 13 deletions

23
btrbk
View File

@ -243,10 +243,10 @@ my %table_formats = (
raw => [ qw( host mount_source mount_subvol mount_point mount_subvolid id top_level cgen gen uuid parent_uuid received_uuid readonly path subvolume_path subvolume_rel_path ) ], raw => [ qw( host mount_source mount_subvol mount_point mount_subvolid id top_level cgen gen uuid parent_uuid received_uuid readonly path subvolume_path subvolume_rel_path ) ],
}, },
extent_diff => { table => [ qw( total diff -set subvol ) ], extent_diff => { table => [ qw( total exclusive diff -set subvol ) ],
long => [ qw( total diff exclusive -set subvol cgen gen ) ], long => [ qw( total exclusive diff -set subvol cgen gen ) ],
raw => [ qw( total diff subvol cgen gen ) ], raw => [ qw( total exclusive diff -set subvol cgen gen ) ],
RALIGN => { total=>1, diff=>1, exclusive=>1, set=>1, cgen=>1, gen=>1 }, RALIGN => { total=>1, exclusive=>1, diff=>1, set=>1, cgen=>1, gen=>1 },
}, },
); );
@ -5797,15 +5797,12 @@ MAIN:
b => print_size(extentmap_size(extentmap_merge(@universe_set))) b => print_size(extentmap_size(extentmap_merge(@universe_set)))
}; };
# calculate "exclusive" column only if needed INFO "Calculating set-exclusive size for " . scalar(@data) . " subvolumes";
if(grep /^exclusive$/, @{$table_formats{extent_diff}{$output_format // "table"}}) { foreach my $d (@data) {
INFO "Calculating set-exclusive size for " . scalar(@data) . " subvolumes"; my $vol = $d->{_vinfo};
foreach my $d (@data) { DEBUG "Calculating exclusive for: $vol->{PRINT}";
my $vol = $d->{_vinfo}; my @others = grep { $_ != $vol->{EXTENTMAP} } @universe_set;
DEBUG "Calculating exclusive for: $vol->{PRINT}"; $d->{exclusive} = print_size(extentmap_size(extentmap_diff($vol->{EXTENTMAP}, extentmap_merge(@others)))),
my @others = grep { $_ != $vol->{EXTENTMAP} } @universe_set;
$d->{exclusive} = print_size(extentmap_size(extentmap_diff($vol->{EXTENTMAP}, extentmap_merge(@others)))),
}
} }
if(scalar(@filter_vf)) { if(scalar(@filter_vf)) {