4 # This file and its contents are supplied under the terms of the
5 # Common Development and Distribution License ("CDDL"), version 1.0.
6 # You may only use this file in accordance with the terms of version
9 # A full copy of the text of the CDDL should have accompanied this
10 # source. A copy of the CDDL is also available via the Internet at
11 # http://www.illumos.org/license/CDDL.
15 # Copyright (c) 2015 by Delphix. All rights reserved.
18 .
$STF_SUITE/tests
/functional
/rsend
/rsend.kshlib
19 .
$STF_SUITE/include
/properties.shlib
23 # Verify compressed send streams can still preserve properties
26 # 1. Randomly modify the properties in the src pool
27 # 2. Send a full compressed stream with -p to preserve properties
28 # 3. Verify all the received properties match the source datasets
29 # 4. Repeat the process with -R instead of -p
32 verify_runnable
"global"
38 log_must zpool create
$POOL $DISK1
39 log_must zpool create
$POOL2 $DISK2
40 log_must setup_test_model
$POOL
43 log_assert
"Compressed send doesn't interfere with preservation of properties"
46 typeset
-a datasets
=("" "/pclone" "/$FS" "/$FS/fs1" "/$FS/fs1/fs2"
47 "/$FS/fs1/fclone" "/vol" "/$FS/vol")
50 for opt
in "-p" "-R"; do
51 for ds
in ${datasets[@]}; do
52 randomize_ds_props
$POOL$ds
55 log_must
eval "zfs send -c $opt $POOL@final > $BACKDIR/pool-final$opt"
56 log_must
eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-final$opt"
58 for ds
in ${datasets[@]}; do
59 log_must cmp_ds_prop
$POOL$ds $POOL2$ds
60 log_must cmp_ds_prop
$POOL$ds@final
$POOL2$ds@final
63 # Don't cleanup the second time, since we do that on exit anyway.
64 [[ $opt = "-p" ]] && cleanup
67 log_pass
"Compressed send doesn't interfere with preservation of properties"