Clarify compressed zfs send/recv behavior

Docs for send and receive do not explain behavior when sending a 
compressed stream then receiving on a host that overrides compression 
with -o compress=value.

The data from the send stream is written as it was from the send is 
the compressed form but the compression algorithm set on the receiver 
is the overridden version which causes some confusion as to what 
algorithm was actually used.

Updated man docs to clarify behavior

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed By: Allan Jude <allanjude@freebsd.org>
Signed-off-by: manfromafar <manfromafar@outlook.com>
Closes #11690
This commit is contained in:
manfromafar 2021-03-07 10:39:16 -07:00 committed by GitHub
parent 4b2e20824b
commit ecc277cff7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 1 deletions

View File

@ -261,6 +261,16 @@ causes the property to be inherited by all descendant datasets, as through
was run on any descendant datasets that have this property set on the was run on any descendant datasets that have this property set on the
sending system. sending system.
.Pp .Pp
If the send stream was sent with
.Fl c
then overriding the
.Sy compression
property will have no affect on received data but the
.Sy compression
property will be set. To have the data recompressed on receive remove the
.Fl c
flag from the send stream.
.Pp
Any editable property can be set at receive time. Set-once properties bound Any editable property can be set at receive time. Set-once properties bound
to the received data, such as to the received data, such as
.Sy normalization .Sy normalization

View File

@ -189,7 +189,12 @@ feature is enabled on the sending system but the
option is not supplied in conjunction with option is not supplied in conjunction with
.Fl c , .Fl c ,
then the data will be decompressed before sending so it can be split into then the data will be decompressed before sending so it can be split into
smaller block sizes. smaller block sizes. Streams sent with
.Fl c
will not have their data recompressed on the receiver side using
.Fl o compress=value.
The data will stay compressed as it was from the sender. The new compression
property will be set for future data.
.It Fl w, -raw .It Fl w, -raw
For encrypted datasets, send data exactly as it exists on disk. This allows For encrypted datasets, send data exactly as it exists on disk. This allows
backups to be taken even if encryption keys are not currently loaded. The backups to be taken even if encryption keys are not currently loaded. The