@@ -48,49 +48,91 @@ log_onexit cleanup
48
48
49
49
# Create the filesystem hierarchy
50
50
log_must cleanup_pool $POOL
51
+ log_must zfs create $POOL /fs1
52
+ log_must zfs create $POOL2 /fs2
51
53
log_must eval " echo $PASSPHRASE | zfs create -o encryption=on" \
52
- " -o keyformat=passphrase $POOL /$FS "
53
- log_must zfs snapshot $POOL /$FS @snap
54
- log_must zfs clone $POOL /$FS @snap $POOL /clone
55
- log_must zfs create $POOL /$FS /child
54
+ " -o keyformat=passphrase $POOL /fs1/$FS "
55
+ log_must zfs snapshot $POOL /fs1/$FS @snap
56
+ log_must zfs clone $POOL /fs1/$FS @snap $POOL /clone
57
+ log_must zfs create $POOL /fs1/$FS /child
58
+ # aaaaa
59
+ log_must eval " echo $PASSPHRASE | zfs create -o encryption=on" \
60
+ " -o keyformat=passphrase $POOL /fs1/a"
61
+ log_must zfs snapshot $POOL /fs1/a@snapa
62
+ log_must zfs clone $POOL /fs1/a@snapa $POOL /clonea
63
+ log_must zfs create $POOL /fs1/a/childa
56
64
57
65
# Back up the tree and verify the structure
58
66
log_must zfs snapshot -r $POOL @before
59
67
log_must eval " zfs send -wR $POOL @before > $BACKDIR /fs-before-R"
60
- log_must eval " zfs receive -d -F $POOL2 < $BACKDIR /fs-before-R"
61
- dstds=$( get_dst_ds $POOL /$FS $POOL2 )
62
- log_must cmp_ds_subs $POOL /$FS $dstds
63
-
64
- log_must verify_encryption_root $POOL /$FS $POOL /$FS
65
- log_must verify_keylocation $POOL /$FS " prompt"
66
- log_must verify_origin $POOL /$FS " -"
67
-
68
- log_must verify_encryption_root $POOL /clone $POOL /$FS
68
+ log_must eval " zfs receive -d -F $POOL2 /fs2 < $BACKDIR /fs-before-R"
69
+ dstds=$( get_dst_ds $POOL /fs1/$FS $POOL2 /fs2)
70
+ log_must cmp_ds_subs $POOL /fs1/$FS $dstds
71
+ # aaaaa
72
+ dstdsa=$( get_dst_ds $POOL /fs1/a $POOL2 /fs2)
73
+ log_must cmp_ds_subs $POOL /fs1/a $dstdsa
74
+
75
+ log_must verify_encryption_root $POOL /fs1/$FS $POOL /fs1/$FS
76
+ log_must verify_keylocation $POOL /fs1/$FS " prompt"
77
+ log_must verify_origin $POOL /fs1/$FS " -"
78
+ # aaaaa
79
+ log_must verify_encryption_root $POOL /fs1/a $POOL /fs1/a
80
+ log_must verify_keylocation $POOL /fs1/a " prompt"
81
+ log_must verify_origin $POOL /fs1/a " -"
82
+
83
+ log_must verify_encryption_root $POOL /clone $POOL /fs1/$FS
69
84
log_must verify_keylocation $POOL /clone " none"
70
- log_must verify_origin $POOL /clone " $POOL /$FS @snap"
71
-
72
- log_must verify_encryption_root $POOL /$FS /child $POOL /$FS
73
- log_must verify_keylocation $POOL /$FS /child " none"
85
+ log_must verify_origin $POOL /clone " $POOL /fs1/$FS @snap"
86
+ # aaaaa
87
+ log_must verify_encryption_root $POOL /clonea $POOL /fs1/a
88
+ log_must verify_keylocation $POOL /clonea " none"
89
+ log_must verify_origin $POOL /clonea " $POOL /fs1/a@snapa"
90
+
91
+ log_must verify_encryption_root $POOL /fs1/$FS /child $POOL /fs1/$FS
92
+ log_must verify_keylocation $POOL /fs1/$FS /child " none"
93
+ # aaaaa
94
+ log_must verify_encryption_root $POOL /fs1/a/childa $POOL /fs1/a
95
+ log_must verify_keylocation $POOL /fs1/a/childa " none"
74
96
75
97
# Alter the hierarchy and re-send
76
98
log_must eval " echo $PASSPHRASE1 | zfs change-key -o keyformat=passphrase" \
77
- " $POOL /$FS /child"
99
+ " $POOL /fs1/ $FS /child"
78
100
log_must zfs promote $POOL /clone
101
+ # log_must zfs snapshot -r $POOL@after
102
+ # log_must eval "zfs send -wR -i $POOL@before $POOL@after >" \
103
+ # "$BACKDIR/fs-after-R"
104
+ # log_must eval "zfs receive -d -F $POOL2/fs2 < $BACKDIR/fs-after-R"
105
+ # aaaaa
106
+ log_must eval " echo $PASSPHRASE1 | zfs change-key -o keyformat=passphrase" \
107
+ " $POOL /fs1/a/childa"
108
+ log_must zfs promote $POOL /clonea
79
109
log_must zfs snapshot -r $POOL @after
80
110
log_must eval " zfs send -wR -i $POOL @before $POOL @after >" \
81
111
" $BACKDIR /fs-after-R"
82
- log_must eval " zfs receive -d -F $POOL2 < $BACKDIR /fs-after-R"
83
- log_must cmp_ds_subs $POOL /$FS $dstds
112
+ log_must eval " zfs receive -d -F $POOL2 /fs2 < $BACKDIR /fs-after-R"
113
+ log_must cmp_ds_subs $POOL /fs1/$FS $dstds
114
+ log_must cmp_ds_subs $POOL /fs1/a $dstdsa
84
115
85
- log_must verify_encryption_root $POOL /$FS $POOL /clone
86
- log_must verify_keylocation $POOL /$FS " none"
87
- log_must verify_origin $POOL /$FS " $POOL /clone@snap"
116
+ log_must verify_encryption_root $POOL /fs1/$FS $POOL /clone
117
+ log_must verify_keylocation $POOL /fs1/$FS " none"
118
+ log_must verify_origin $POOL /fs1/$FS " $POOL /clone@snap"
119
+ log_must verify_encryption_root $POOL /fs1/a $POOL /clonea
120
+ log_must verify_keylocation $POOL /fs1/a " none"
121
+ log_must verify_origin $POOL /fs1/a " $POOL /clonea@snapa"
88
122
89
123
log_must verify_encryption_root $POOL /clone $POOL /clone
90
124
log_must verify_keylocation $POOL /clone " prompt"
91
125
log_must verify_origin $POOL /clone " -"
126
+ log_must verify_encryption_root $POOL /clonea $POOL /clonea
127
+ log_must verify_keylocation $POOL /clonea " prompt"
128
+ log_must verify_origin $POOL /clonea " -"
129
+
130
+ log_must verify_encryption_root $POOL /fs1/$FS /child $POOL /fs1/$FS /child
131
+ log_must verify_keylocation $POOL /fs1/$FS /child " prompt"
132
+ log_must verify_encryption_root $POOL /fs1/a/childa $POOL /fs1/a/childa
133
+ log_must verify_keylocation $POOL /fs1/a/childa " prompt"
92
134
93
- log_must verify_encryption_root $POOL / $FS /child $POOL / $FS /child
94
- log_must verify_keylocation $POOL / $FS /child " prompt "
135
+ # ####
136
+ log_must zfs list
95
137
96
138
log_pass " Raw recursive sends preserve filesystem structure."
0 commit comments