mirror of https://github.com/digint/btrbk
btrbk: fix duplicate snapshot location check
If snapshot_create=no, no snapshot is created and thus should be excluded from "duplicate snapshot locations" check.pull/370/head
parent
8d25852ce2
commit
cee6553a49
9
btrbk
9
btrbk
|
@ -6660,9 +6660,11 @@ MAIN:
|
||||||
# check for duplicate snapshot locations
|
# check for duplicate snapshot locations
|
||||||
foreach my $sroot (vinfo_subsection($config, 'volume')) {
|
foreach my $sroot (vinfo_subsection($config, 'volume')) {
|
||||||
foreach my $svol (vinfo_subsection($sroot, 'subvolume')) {
|
foreach my $svol (vinfo_subsection($sroot, 'subvolume')) {
|
||||||
# check for duplicate snapshot locations
|
|
||||||
my $snaproot = vinfo_snapshot_root($svol);
|
|
||||||
my $snapshot_basename = config_key($svol, "snapshot_name") // die;
|
my $snapshot_basename = config_key($svol, "snapshot_name") // die;
|
||||||
|
|
||||||
|
# check for duplicate snapshot locations
|
||||||
|
if(config_key($svol, "snapshot_create")) {
|
||||||
|
my $snaproot = vinfo_snapshot_root($svol);
|
||||||
my $snaproot_subdir_path = (defined($snaproot->{NODE_SUBDIR}) ? $snaproot->{NODE_SUBDIR} . '/' : "") . $snapshot_basename;
|
my $snaproot_subdir_path = (defined($snaproot->{NODE_SUBDIR}) ? $snaproot->{NODE_SUBDIR} . '/' : "") . $snapshot_basename;
|
||||||
if(my $prev = $snaproot->{node}->{_SNAPSHOT_CHECK}->{$snaproot_subdir_path}) {
|
if(my $prev = $snaproot->{node}->{_SNAPSHOT_CHECK}->{$snaproot_subdir_path}) {
|
||||||
ERROR "Subvolume \"$prev\" and \"$svol->{PRINT}\" will create same snapshot: $snaproot->{PRINT}/${snapshot_basename}.*";
|
ERROR "Subvolume \"$prev\" and \"$svol->{PRINT}\" will create same snapshot: $snaproot->{PRINT}/${snapshot_basename}.*";
|
||||||
|
@ -6670,9 +6672,10 @@ MAIN:
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
$snaproot->{node}->{_SNAPSHOT_CHECK}->{$snaproot_subdir_path} = $svol->{PRINT};
|
$snaproot->{node}->{_SNAPSHOT_CHECK}->{$snaproot_subdir_path} = $svol->{PRINT};
|
||||||
|
}
|
||||||
|
|
||||||
|
# check for duplicate target locations
|
||||||
foreach my $droot (vinfo_subsection($svol, 'target')) {
|
foreach my $droot (vinfo_subsection($svol, 'target')) {
|
||||||
# check for duplicate snapshot locations
|
|
||||||
my $droot_subdir_path = (defined($droot->{NODE_SUBDIR}) ? $droot->{NODE_SUBDIR} . '/' : "") . $snapshot_basename;
|
my $droot_subdir_path = (defined($droot->{NODE_SUBDIR}) ? $droot->{NODE_SUBDIR} . '/' : "") . $snapshot_basename;
|
||||||
if(my $prev = $droot->{node}->{_BACKUP_CHECK}->{$droot_subdir_path}) {
|
if(my $prev = $droot->{node}->{_BACKUP_CHECK}->{$droot_subdir_path}) {
|
||||||
ERROR "Subvolume \"$prev\" and \"$svol->{PRINT}\" will create same backup target: $droot->{PRINT}/${snapshot_basename}.*";
|
ERROR "Subvolume \"$prev\" and \"$svol->{PRINT}\" will create same backup target: $droot->{PRINT}/${snapshot_basename}.*";
|
||||||
|
|
Loading…
Reference in New Issue