btrbk: bugfix: match btrbk_basename in get_latest_snapshot_child()

pull/235/head
Axel Burri 2018-02-15 02:56:09 +01:00
parent 2c1c3b4d54
commit 0454f60ad1
1 changed files with 4 additions and 3 deletions

7
btrbk
View File

@ -2997,13 +2997,14 @@ sub get_best_parent($$$)
} }
sub get_latest_snapshot_child($$) sub get_latest_snapshot_child($$;$)
{ {
my $sroot = shift || die; my $sroot = shift || die;
my $svol = shift // die; my $svol = shift // die;
my $btrbk_basename = shift;
my $latest = undef; my $latest = undef;
my $gen = -1; my $gen = -1;
foreach (get_snapshot_children($sroot, $svol)) { foreach (get_snapshot_children($sroot, $svol, $btrbk_basename)) {
if($_->{node}{cgen} > $gen) { if($_->{node}{cgen} > $gen) {
$latest = $_; $latest = $_;
$gen = $_->{node}{cgen}; $gen = $_->{node}{cgen};
@ -5712,7 +5713,7 @@ MAIN:
} }
elsif($snapshot_create eq "onchange") { elsif($snapshot_create eq "onchange") {
# check if latest (btrbk only!) snapshot is up-to-date with source subvolume (by generation) # check if latest (btrbk only!) snapshot is up-to-date with source subvolume (by generation)
my $latest = get_latest_snapshot_child($snaproot, $svol); my $latest = get_latest_snapshot_child($snaproot, $svol, $snapshot_basename);
if($latest) { if($latest) {
if($latest->{node}{cgen} == $svol->{node}{gen}) { if($latest->{node}{cgen} == $svol->{node}{gen}) {
INFO "Snapshot creation skipped: snapshot_create=onchange, snapshot is up-to-date: $latest->{PRINT}"; INFO "Snapshot creation skipped: snapshot_create=onchange, snapshot is up-to-date: $latest->{PRINT}";