Skip to content

Commit

Permalink
Proposed implementation for digint#304
Browse files Browse the repository at this point in the history
  • Loading branch information
LubosKolouch committed Oct 3, 2020
1 parent f40e3ad commit e387dea
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
7 changes: 7 additions & 0 deletions btrbk
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ my %config_options = (
timestamp_format => { default => "short", accept => [ "short", "long", "long-iso" ], context => [ "global", "volume", "subvolume" ] },
snapshot_dir => { default => undef, accept_file => { relative => 1 }, context => [ "global", "volume", "subvolume" ] },
snapshot_name => { c_default => 1, accept_file => { name_only => 1 }, context => [ "subvolume" ], deny_glob_context => 1 }, # NOTE: defaults to the subvolume name (hardcoded)
snapshot_name_prefix_fullpath => { default => "no", accept => ["yes", "no" ] },
snapshot_create => { default => "always", accept => [ "no", "always", "ondemand", "onchange" ], context => [ "global", "volume", "subvolume" ] },
incremental => { default => "yes", accept => [ "yes", "no", "strict" ] },
incremental_clones => { default => 0, accept_numeric => 1 },
Expand Down Expand Up @@ -6612,6 +6613,12 @@ MAIN:
my $postfix_counter = $lookup[0] // -1;
$postfix_counter++;
my $snapshot_name = $snapshot_basename . '.' . $timestamp . ($postfix_counter ? "_$postfix_counter" : "");
if ( config_key($svol, "snapshot_name_prefix_fullpath") eq "yes" ) {
my $sanitized_snaproot = $snaproot->{PATH};
# replace all /s with _ in the root
$sanitized_snaproot =~ s/\//_/msxg;
$snapshot_name = $sanitized_snaproot.$snapshot_name;
}

if(@unconfirmed_target_name) {
INFO "Assuming non-present subvolume \"$snapshot_name\" in skipped targets: " . join(", ", map { "\"$_->{PRINT}\"" } @unconfirmed_target_name);
Expand Down
4 changes: 4 additions & 0 deletions btrbk.conf.example
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ snapshot_dir _btrbk_snap
# disk when btrbk terminates.
#btrfs_commit_delete no

# Include full path in the snapshot name to distinguish between snapshots
# with the same name, but different roots
# snapshot_name_prefix_fullpath yes


#
# Volume section: "volume <volume-directory>"
Expand Down

0 comments on commit e387dea

Please sign in to comment.