]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - tests/zfs-tests/tests/functional/rsend/recv_dedup_encrypted_zvol.ksh
Vendor import of openzfs master @ 184df27eef0abdc7ab2105b21257f753834b936b
[FreeBSD/FreeBSD.git] / tests / zfs-tests / tests / functional / rsend / recv_dedup_encrypted_zvol.ksh
1 #!/bin/ksh -p
2 #
3 # CDDL HEADER START
4 #
5 # This file and its contents are supplied under the terms of the
6 # Common Development and Distribution License ("CDDL"), version 1.0.
7 # You may only use this file in accordance with the terms of version
8 # 1.0 of the CDDL.
9 #
10 # A full copy of the text of the CDDL should have accompanied this
11 # source.  A copy of the CDDL is also available via the Internet at
12 # http://www.illumos.org/license/CDDL.
13 #
14 # CDDL HEADER END
15 #
16
17 #
18 # Copyright (c) 2020 by Delphix. All rights reserved.
19 #
20
21 . $STF_SUITE/tests/functional/rsend/rsend.kshlib
22
23 #
24 # DESCRIPTION:
25 # Verifies that we can receive a dedup send stream of a zvol by processing it
26 # with "zstream redup".
27 #
28
29 verify_runnable "both"
30
31 function cleanup
32 {
33         destroy_dataset $TESTPOOL/recv "-r"
34         rm $sendfile
35         rm $volfile
36         rm $keyfile
37 }
38 log_onexit cleanup
39
40 log_assert "Verify zfs can receive raw, recursive, and deduplicated send streams"
41
42 typeset keyfile=/$TESTPOOL/pkey
43 typeset recvdev=$ZVOL_DEVDIR/$TESTPOOL/recv
44 typeset sendfile_compressed=$STF_SUITE/tests/functional/rsend/dedup_encrypted_zvol.zsend.bz2
45 typeset sendfile=/$TESTPOOL/dedup_encrypted_zvol.zsend
46 typeset volfile_compressed=$STF_SUITE/tests/functional/rsend/dedup_encrypted_zvol.bz2
47 typeset volfile=/$TESTPOOL/dedup_encrypted_zvol
48
49 log_must eval "echo 'password' > $keyfile"
50
51 log_must eval "bzcat <$sendfile_compressed >$sendfile"
52 log_must eval "zstream redup $sendfile | zfs recv $TESTPOOL/recv"
53
54 log_must zfs load-key $TESTPOOL/recv
55 block_device_wait
56
57 log_must eval "bzcat <$volfile_compressed >$volfile"
58 log_must diff $volfile $recvdev
59
60 log_pass "zfs can receive raw, recursive, and deduplicated send streams"