]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Remove deduplicated send/receive code
authorMatthew Ahrens <mahrens@delphix.com>
Thu, 23 Apr 2020 17:06:57 +0000 (10:06 -0700)
committerGitHub <noreply@github.com>
Thu, 23 Apr 2020 17:06:57 +0000 (10:06 -0700)
commit196bee4cfd576fb15baa6a64ad6501c594f45497
treeb0a30594c38416a426e691544beecd7731feb742
parent70e5ad31f6425868b8a173bbc2be4ef08a8d949b
Remove deduplicated send/receive code

Deduplicated send streams (i.e. `zfs send -D` and `zfs receive` of such
streams) are deprecated.  Deduplicated send streams can be received by
first converting them to non-deduplicated with the `zstream redup`
command.

This commit removes the code for sending and receiving deduplicated send
streams.  `zfs send -D` will now print a warning, ignore the `-D` flag,
and generate a regular (non-deduplicated) send stream.  `zfs receive` of
a deduplicated send stream will print an error message and fail.

The resulting code simplification (especially in the kernel's support
for receiving dedup streams) should help enable future performance
enhancements.

Several new tests are added which leverage `zstream redup`.

Reviewed-by: Paul Dagnelie <pcd@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matthew Ahrens <mahrens@delphix.com>
Issue #7887
Issue #10117
Issue #10156
Closes #10212
26 files changed:
cmd/zfs/zfs_main.c
include/libzfs.h
include/libzfs_impl.h
include/sys/dmu.h
include/sys/dmu_recv.h
include/sys/zfs_ioctl.h
include/sys/zfs_onexit.h
lib/libzfs/libzfs_sendrecv.c
lib/libzfs_core/libzfs_core.c
man/man8/zfs-receive.8
man/man8/zfs-send.8
module/zfs/dmu.c
module/zfs/dmu_recv.c
module/zfs/zfs_ioctl.c
module/zfs/zfs_onexit.c
tests/runfiles/common.run
tests/zfs-tests/tests/functional/rsend/Makefile.am
tests/zfs-tests/tests/functional/rsend/dedup.zsend.bz2 [new file with mode: 0644]
tests/zfs-tests/tests/functional/rsend/dedup_encrypted_zvol.bz2 [new file with mode: 0644]
tests/zfs-tests/tests/functional/rsend/dedup_encrypted_zvol.zsend.bz2 [new file with mode: 0644]
tests/zfs-tests/tests/functional/rsend/fs.tar.gz [new file with mode: 0644]
tests/zfs-tests/tests/functional/rsend/recv_dedup.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/rsend/recv_dedup_encrypted_zvol.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/rsend/send-cD.ksh [deleted file]
tests/zfs-tests/tests/functional/rsend/send-wR_encrypted_zvol.ksh [moved from tests/zfs-tests/tests/functional/rsend/send-wDR_encrypted_zvol.ksh with 84% similarity]
tests/zfs-tests/tests/functional/rsend/send_partial_dataset.ksh