diff --git a/btrbk b/btrbk index 8a46a3e..56d7192 100755 --- a/btrbk +++ b/btrbk @@ -76,6 +76,7 @@ my %config_options = ( ssh_identity => { default => undef, accept_file => { absolute => 1 } }, ssh_user => { default => "root", accept_regexp => qr/^[a-z_][a-z0-9_-]*$/ }, ssh_port => { default => "default", accept => [ "default" ], accept_numeric => 1 }, + ssh_compression => { default => "yes", accept => [ "yes", "no" ] }, btrfs_progs_compat => { default => undef, accept => [ "yes", "no" ] }, # deprecated options @@ -230,12 +231,14 @@ sub vinfo($$) ); if($url =~ /^ssh:\/\/(\S+?)(\/\S+)$/) { - my ($host, $path) = ($1, $2); - my $ssh_port = config_key($config, "ssh_port"); - my $ssh_user = config_key($config, "ssh_user"); - my $ssh_identity = config_key($config, "ssh_identity"); + my ($host, $path) = ($1, $2); + my $ssh_port = config_key($config, "ssh_port"); + my $ssh_user = config_key($config, "ssh_user"); + my $ssh_identity = config_key($config, "ssh_identity"); + my $ssh_compression = config_key($config, "ssh_compression"); my @ssh_options; push(@ssh_options, '-p', $ssh_port) if($ssh_port ne "default"); + push(@ssh_options, '-C') if($ssh_compression eq "yes"); if($ssh_identity) { push(@ssh_options, '-i', $ssh_identity); } else { diff --git a/doc/btrbk.conf.5 b/doc/btrbk.conf.5 index 965aaaa..9917954 100644 --- a/doc/btrbk.conf.5 +++ b/doc/btrbk.conf.5 @@ -120,6 +120,9 @@ have to make sure that the remote user is able to run /sbin/btrfs Port to connect to on the remote host. Defaults to \[lq]default\[rq] (the port specified in \fIssh_config\fR, which defaults to 22). .TP +\fBssh_compression\fR yes|no +Enables or disables the compression of SSH (-C flag). Defaults to yes. +.TP \fBbtrfs_commit_delete\fR after|each|no If set, make sure the deletion of snapshot and backup subvolumes are committed to disk when btrbk terminates. Defaults to \[lq]no\[rq].