@@ -66,7 +66,7 @@ function bclone_corner_cases_init
66
66
export SECOND_HALF_ORIG0_CHECKSUM=$( second_half_checksum $ORIG0 )
67
67
export SECOND_HALF_ORIG1_CHECKSUM=$( second_half_checksum $ORIG1 )
68
68
export SECOND_HALF_ORIG2_CHECKSUM=$( second_half_checksum $ORIG2 )
69
- export ZEROS_CHECKSUM=$( dd if=/dev/zero bs=$HALFRECORDSIZE count=1 | sha256digest)
69
+ export ZEROS_CHECKSUM=$( dd if=/dev/zero bs=$HALFRECORDSIZE count=1 2> /dev/null | sha256digest)
70
70
export FIRST_HALF_CHECKSUM=" "
71
71
export SECOND_HALF_CHECKSUM=" "
72
72
}
@@ -210,13 +210,20 @@ function bclone_corner_cases_test
210
210
typeset -r dstdir=$2
211
211
typeset limit=$3
212
212
typeset -i count=0
213
+ typeset oused
214
+ typeset osaved
213
215
214
216
if [[ $srcdir != " count" ]]; then
215
217
if [[ -n " $limit " ]]; then
216
218
typeset -r total_count=$( bclone_corner_cases_test count)
217
219
limit=$( random_int_between 1 $total_count $(( limit* 2 )) | sort -nu | head -n $limit | xargs)
218
220
fi
219
221
bclone_corner_cases_init $srcdir $dstdir
222
+
223
+ # Save current block cloning stats for later use.
224
+ sync_pool $TESTPOOL
225
+ oused=$( get_pool_prop bcloneused $TESTPOOL )
226
+ osaved=$( get_pool_prop bclonesaved $TESTPOOL )
220
227
fi
221
228
222
229
#
@@ -285,21 +292,24 @@ function bclone_corner_cases_test
285
292
overwrite_clone " $second_overwrite "
286
293
287
294
if checksum_compare $read_after ; then
288
- log_note " existing: $existing / cached: $cached / first_clone: $first_clone / first_overwrite: $first_overwrite / read_before: $read_before / second_clone: $second_clone / read_after: $read_after "
295
+ log_note " existing: $existing / cached: $cached / first_clone: $first_clone / first_overwrite: $first_overwrite / read_before: $read_before / second_clone: $second_clone / second_overwrite: $second_overwrite / read_after: $read_after "
289
296
else
290
- log_fail " FAIL: existing: $existing / cached: $cached / first_clone: $first_clone / first_overwrite: $first_overwrite / read_before: $read_before / second_clone: $second_clone / read_after: $read_after "
297
+ log_fail " FAIL: existing: $existing / cached: $cached / first_clone: $first_clone / first_overwrite: $first_overwrite / read_before: $read_before / second_clone: $second_clone / second_overwrite: $second_overwrite / read_after: $read_after "
291
298
fi
292
299
293
300
log_must zpool export $TESTPOOL
294
301
log_must zpool import $TESTPOOL
295
302
296
303
if checksum_compare " yes" ; then
297
- log_note " existing: $existing / cached: $cached / first_clone: $first_clone / first_overwrite: $first_overwrite / read_before: $read_before / second_clone: $second_clone / read_after: $read_after / read_next_txg"
304
+ log_note " existing: $existing / cached: $cached / first_clone: $first_clone / first_overwrite: $first_overwrite / read_before: $read_before / second_clone: $second_clone / second_overwrite: $second_overwrite / read_after: $read_after / read_next_txg"
298
305
else
299
- log_fail " FAIL: existing: $existing / cached: $cached / first_clone: $first_clone / first_overwrite: $first_overwrite / read_before: $read_before / second_clone: $second_clone / read_after: $read_after / read_next_txg"
306
+ log_fail " FAIL: existing: $existing / cached: $cached / first_clone: $first_clone / first_overwrite: $first_overwrite / read_before: $read_before / second_clone: $second_clone / second_overwrite: $second_overwrite / read_after: $read_after / read_next_txg"
300
307
fi
301
308
302
309
rm -f " $CLONE "
310
+ sync_pool $TESTPOOL
311
+ verify_pool_prop_eq bcloneused $oused
312
+ verify_pool_prop_eq bclonesaved $osaved
303
313
done
304
314
done
305
315
done
0 commit comments