From a44f423b0013a8732e28e043ce549db05573656a Mon Sep 17 00:00:00 2001 From: Rob Norris Date: Sat, 15 Feb 2025 14:44:23 +1100 Subject: [PATCH] ZTS: replace uses of TMPDIR with mktemp Most of these are trying to use TMPDIR to put their work files somewhere sensible. Now that we've set up correctly, they can all just use mktemp to do the job. In a couple of places cleaning up temp files wasn't being done correctly, which has been fixed. Sponsored-by: https://despairlabs.com/sponsor/ Signed-off-by: Rob Norris Reviewed-by: Tony Hutter Reviewed-by: Tino Reichardt Reviewed-by: Igor Kozhukhov --- .../block_cloning/block_cloning.kshlib | 10 ++++---- .../zfs_mount/zfs_mount_test_race.ksh | 12 ++++------ .../fault/suspend_resume_single.ksh | 4 ++-- .../removal/removal_check_space.ksh | 14 +++++------ .../removal/removal_multiple_indirection.ksh | 24 +++++++++---------- .../removal/removal_reservation.ksh | 12 +++++----- .../functional/removal/removal_with_add.ksh | 14 +++++------ .../removal/removal_with_errors.ksh | 16 ++++++------- .../removal/removal_with_faulted.ksh | 12 +++++----- .../removal/removal_with_indirect.ksh | 13 +++++----- .../functional/removal/removal_with_zdb.ksh | 2 +- .../removal/remove_attach_mirror.ksh | 9 ++++--- .../functional/removal/remove_expanded.ksh | 10 ++++---- .../functional/removal/remove_mirror.ksh | 11 ++++----- .../tests/functional/removal/remove_raidz.ksh | 18 +++++++------- 15 files changed, 89 insertions(+), 92 deletions(-) diff --git a/tests/zfs-tests/tests/functional/block_cloning/block_cloning.kshlib b/tests/zfs-tests/tests/functional/block_cloning/block_cloning.kshlib index d59329d87..324fbecae 100644 --- a/tests/zfs-tests/tests/functional/block_cloning/block_cloning.kshlib +++ b/tests/zfs-tests/tests/functional/block_cloning/block_cloning.kshlib @@ -48,11 +48,13 @@ function get_same_blocks if [ ${#KEY} -gt 0 ]; then KEY="--key=$KEY" fi - typeset zdbout=${TMPDIR:-$TEST_BASE_DIR}/zdbout.$$ + typeset zdbout1=$(mktemp) + typeset zdbout2=$(mktemp) zdb $KEY -vvvvv $1 -O $2 | \ - awk '/ L0 / { print l++ " " $3 " " $7 }' > $zdbout.a + awk '/ L0 / { print l++ " " $3 " " $7 }' > $zdbout1 zdb $KEY -vvvvv $3 -O $4 | \ - awk '/ L0 / { print l++ " " $3 " " $7 }' > $zdbout.b - echo $(sort -n $zdbout.a $zdbout.b | uniq -d | cut -f1 -d' ') + awk '/ L0 / { print l++ " " $3 " " $7 }' > $zdbout2 + echo $(sort -n $zdbout1 $zdbout2 | uniq -d | cut -f1 -d' ') + rm -f $zdbout1 $zdbout2 } diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.ksh index 3a5793d07..a69f86991 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.ksh @@ -38,10 +38,10 @@ verify_runnable "both" -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} -MNTPT=$TMPDIR/zfs_mount_test_race_mntpt -DISK1="$TMPDIR/zfs_mount_test_race_disk1" -DISK2="$TMPDIR/zfs_mount_test_race_disk2" +DISKDIR=$(mktemp -d) +MNTPT=$DISKDIR/zfs_mount_test_race_mntpt +DISK1="$DISKDIR/zfs_mount_test_race_disk1" +DISK2="$DISKDIR/zfs_mount_test_race_disk2" TESTPOOL1=zfs_mount_test_race_tp1 TESTPOOL2=zfs_mount_test_race_tp2 @@ -54,11 +54,9 @@ function cleanup { zpool destroy $TESTPOOL1 zpool destroy $TESTPOOL2 - rm -rf $MNTPT + rm -rf $DISKDIR rm -rf /$TESTPOOL1 rm -rf /$TESTPOOL2 - rm -f $DISK1 - rm -f $DISK2 export __ZFS_POOL_RESTRICT="$TESTPOOL1 $TESTPOOL2" log_must zfs $mountall unset __ZFS_POOL_RESTRICT diff --git a/tests/zfs-tests/tests/functional/fault/suspend_resume_single.ksh b/tests/zfs-tests/tests/functional/fault/suspend_resume_single.ksh index 22831d28a..5d7583307 100755 --- a/tests/zfs-tests/tests/functional/fault/suspend_resume_single.ksh +++ b/tests/zfs-tests/tests/functional/fault/suspend_resume_single.ksh @@ -26,14 +26,14 @@ . $STF_SUITE/include/libtest.shlib -DATAFILE="$TMPDIR/datafile" +DATAFILE=$(mktemp) function cleanup { zpool clear $TESTPOOL destroy_pool $TESTPOOL unload_scsi_debug - rm -f $DATA_FILE + rm -f $DATAFILE } log_onexit cleanup diff --git a/tests/zfs-tests/tests/functional/removal/removal_check_space.ksh b/tests/zfs-tests/tests/functional/removal/removal_check_space.ksh index dec692ada..da953c079 100755 --- a/tests/zfs-tests/tests/functional/removal/removal_check_space.ksh +++ b/tests/zfs-tests/tests/functional/removal/removal_check_space.ksh @@ -21,24 +21,24 @@ . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/removal/removal.kshlib -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} -log_must mkfile $MINVDEVSIZE $TMPDIR/dsk1 -log_must mkfile $MINVDEVSIZE $TMPDIR/dsk2 -DISKS="$TMPDIR/dsk1 $TMPDIR/dsk2" -REMOVEDISK=$TMPDIR/dsk1 +DISKDIR=$(mktemp -d) +log_must mkfile $MINVDEVSIZE $DISKDIR/dsk1 +log_must mkfile $MINVDEVSIZE $DISKDIR/dsk2 +DISKS="$DISKDIR/dsk1 $DISKDIR/dsk2" +REMOVEDISK=$DISKDIR/dsk1 log_must default_setup_noexit "$DISKS" function cleanup { default_cleanup_noexit - log_must rm -f $DISKS + log_must rm -rf $DISKDIR } log_onexit cleanup # Write a little more than half the pool. log_must dd if=/dev/urandom of=/$TESTDIR/$TESTFILE0 bs=$((2**20)) \ count=$((MINVDEVSIZE / (1024 * 1024))) -log_mustnot zpool remove $TESTPOOL $TMPDIR/dsk1 +log_mustnot zpool remove $TESTPOOL $DISKDIR/dsk1 log_pass "Removal will not succeed if insufficient space." diff --git a/tests/zfs-tests/tests/functional/removal/removal_multiple_indirection.ksh b/tests/zfs-tests/tests/functional/removal/removal_multiple_indirection.ksh index 6c52fd781..f6e229c6a 100755 --- a/tests/zfs-tests/tests/functional/removal/removal_multiple_indirection.ksh +++ b/tests/zfs-tests/tests/functional/removal/removal_multiple_indirection.ksh @@ -44,18 +44,18 @@ # that the files contents remain the same across transfers. # -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} -log_must mkfile $(($MINVDEVSIZE * 2)) $TMPDIR/dsk1 -log_must mkfile $(($MINVDEVSIZE * 2)) $TMPDIR/dsk2 -DISKS="$TMPDIR/dsk1 $TMPDIR/dsk2" -REMOVEDISK=$TMPDIR/dsk1 +DISKDIR=$(mktemp -d) +log_must mkfile $(($MINVDEVSIZE * 2)) $DISKDIR/dsk1 +log_must mkfile $(($MINVDEVSIZE * 2)) $DISKDIR/dsk2 +DISKS="$DISKDIR/dsk1 $DISKDIR/dsk2" +REMOVEDISK=$DISKDIR/dsk1 log_must default_setup_noexit "$DISKS" function cleanup { default_cleanup_noexit - log_must rm -f $DISKS + log_must rm -rf $DISKDIR # reset REMOVE_MAX_SEGMENT to 1M set_tunable32 REMOVE_MAX_SEGMENT 1048576 @@ -71,19 +71,19 @@ FILE_CONTENTS=$(<$TESTDIR/$TESTFILE0) log_must [ "x$(<$TESTDIR/$TESTFILE0)" = "x$FILE_CONTENTS" ] for i in {1..10}; do - log_must zpool remove $TESTPOOL $TMPDIR/dsk1 + log_must zpool remove $TESTPOOL $DISKDIR/dsk1 log_must wait_for_removal $TESTPOOL - log_mustnot vdevs_in_pool $TESTPOOL $TMPDIR/dsk1 - log_must zpool add $TESTPOOL $TMPDIR/dsk1 + log_mustnot vdevs_in_pool $TESTPOOL $DISKDIR/dsk1 + log_must zpool add $TESTPOOL $DISKDIR/dsk1 log_must zinject -a log_must dd if=$TESTDIR/$TESTFILE0 of=/dev/null log_must [ "x$(<$TESTDIR/$TESTFILE0)" = "x$FILE_CONTENTS" ] - log_must zpool remove $TESTPOOL $TMPDIR/dsk2 + log_must zpool remove $TESTPOOL $DISKDIR/dsk2 log_must wait_for_removal $TESTPOOL - log_mustnot vdevs_in_pool $TESTPOOL $TMPDIR/dsk2 - log_must zpool add $TESTPOOL $TMPDIR/dsk2 + log_mustnot vdevs_in_pool $TESTPOOL $DISKDIR/dsk2 + log_must zpool add $TESTPOOL $DISKDIR/dsk2 log_must zinject -a log_must dd if=$TESTDIR/$TESTFILE0 of=/dev/null diff --git a/tests/zfs-tests/tests/functional/removal/removal_reservation.ksh b/tests/zfs-tests/tests/functional/removal/removal_reservation.ksh index bf0c202ec..daa56c453 100755 --- a/tests/zfs-tests/tests/functional/removal/removal_reservation.ksh +++ b/tests/zfs-tests/tests/functional/removal/removal_reservation.ksh @@ -21,18 +21,18 @@ . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/removal/removal.kshlib -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} -log_must mkfile 1g $TMPDIR/dsk1 -log_must mkfile 1g $TMPDIR/dsk2 -DISKS="$TMPDIR/dsk1 $TMPDIR/dsk2" -REMOVEDISK=$TMPDIR/dsk1 +DISKDIR=$(mktemp -d) +log_must mkfile 1g $DISKDIR/dsk1 +log_must mkfile 1g $DISKDIR/dsk2 +DISKS="$DISKDIR/dsk1 $DISKDIR/dsk2" +REMOVEDISK=$DISKDIR/dsk1 default_setup_noexit "$DISKS" function cleanup { default_cleanup_noexit - log_must rm -f $DISKS + log_must rm -rf $DISKDIR } log_onexit cleanup diff --git a/tests/zfs-tests/tests/functional/removal/removal_with_add.ksh b/tests/zfs-tests/tests/functional/removal/removal_with_add.ksh index 7ec6c8675..18cef3ed4 100755 --- a/tests/zfs-tests/tests/functional/removal/removal_with_add.ksh +++ b/tests/zfs-tests/tests/functional/removal/removal_with_add.ksh @@ -21,14 +21,14 @@ . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/removal/removal.kshlib -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} -log_must mkfile 1g $TMPDIR/dsk1 -log_must mkfile 1g $TMPDIR/dsk2 +DISKDIR=$(mktemp -d) +log_must mkfile 1g $DISKDIR/dsk1 +log_must mkfile 1g $DISKDIR/dsk2 function cleanup { default_cleanup_noexit - log_must rm -f $TMPDIR/dsk1 $TMPDIR/dsk2 + log_must rm -rf $DISKDIR } default_setup_noexit "$DISKS" @@ -36,10 +36,10 @@ log_onexit cleanup function callback { - log_mustnot zpool attach -f $TESTPOOL $TMPDIR/dsk1 $TMPDIR/dsk2 + log_mustnot zpool attach -f $TESTPOOL $DISKDIR/dsk1 $DISKDIR/dsk2 log_mustnot zpool add -f $TESTPOOL \ - raidz $TMPDIR/dsk1 $TMPDIR/dsk2 - log_must zpool add -f $TESTPOOL $TMPDIR/dsk1 + raidz $DISKDIR/dsk1 $DISKDIR/dsk2 + log_must zpool add -f $TESTPOOL $DISKDIR/dsk1 return 0 } diff --git a/tests/zfs-tests/tests/functional/removal/removal_with_errors.ksh b/tests/zfs-tests/tests/functional/removal/removal_with_errors.ksh index be7364eb2..c83189d01 100755 --- a/tests/zfs-tests/tests/functional/removal/removal_with_errors.ksh +++ b/tests/zfs-tests/tests/functional/removal/removal_with_errors.ksh @@ -44,11 +44,11 @@ # 7. Lastly verify the pool data is still intact. # -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} -DISK0=$TMPDIR/dsk0 -DISK1=$TMPDIR/dsk1 -DISK2=$TMPDIR/dsk2 -DISK3=$TMPDIR/dsk3 +DISKDIR=$(mktemp -d) +DISK0=$DISKDIR/dsk0 +DISK1=$DISKDIR/dsk1 +DISK2=$DISKDIR/dsk2 +DISK3=$DISKDIR/dsk3 log_must truncate -s $MINVDEVSIZE $DISK0 $DISK1 log_must truncate -s $((MINVDEVSIZE * 4)) $DISK2 $DISK3 @@ -57,7 +57,7 @@ function cleanup { log_must zinject -c all default_cleanup_noexit - log_must rm -f $DISK0 $DISK1 $DISK2 $DISK3 + log_must rm -rf $DISKDIR } function wait_for_removing_cancel @@ -88,7 +88,7 @@ log_must file_write -o create -f $TESTDIR/$TESTFILE1 -b $((2**20)) -c $((2**8)) # Flush the ARC to minimize cache effects. log_must zpool export $TESTPOOL -log_must zpool import -d $TMPDIR $TESTPOOL +log_must zpool import -d $DISKDIR $TESTPOOL # Verify that unexpected read errors automatically cancel the removal. log_must zinject -d $DISK0 -e io -T all -f 100 $TESTPOOL @@ -99,7 +99,7 @@ log_must zinject -c all # Flush the ARC to minimize cache effects. log_must zpool export $TESTPOOL -log_must zpool import -d $TMPDIR $TESTPOOL +log_must zpool import -d $DISKDIR $TESTPOOL # Verify that unexpected write errors automatically cancel the removal. log_must zinject -d $DISK3 -e io -T all -f 100 $TESTPOOL diff --git a/tests/zfs-tests/tests/functional/removal/removal_with_faulted.ksh b/tests/zfs-tests/tests/functional/removal/removal_with_faulted.ksh index 44d222860..b3f6a486b 100755 --- a/tests/zfs-tests/tests/functional/removal/removal_with_faulted.ksh +++ b/tests/zfs-tests/tests/functional/removal/removal_with_faulted.ksh @@ -63,11 +63,11 @@ # data is still intact. # -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} -DISK0=$TMPDIR/dsk0 -DISK1=$TMPDIR/dsk1 -DISK2=$TMPDIR/dsk2 -DISK3=$TMPDIR/dsk3 +DISKDIR=$(mktemp -d) +DISK0=$DISKDIR/dsk0 +DISK1=$DISKDIR/dsk1 +DISK2=$DISKDIR/dsk2 +DISK3=$DISKDIR/dsk3 log_must truncate -s $MINVDEVSIZE $DISK0 $DISK1 log_must truncate -s $((MINVDEVSIZE * 4)) $DISK2 $DISK3 @@ -75,7 +75,7 @@ log_must truncate -s $((MINVDEVSIZE * 4)) $DISK2 $DISK3 function cleanup { default_cleanup_noexit - log_must rm -f $DISK0 $DISK1 $DISK2 $DISK3 + log_must rm -rf $DISKDIR } default_setup_noexit "mirror $DISK0 $DISK1 mirror $DISK2 $DISK3" diff --git a/tests/zfs-tests/tests/functional/removal/removal_with_indirect.ksh b/tests/zfs-tests/tests/functional/removal/removal_with_indirect.ksh index 2a7878f4a..dbbf50dd3 100755 --- a/tests/zfs-tests/tests/functional/removal/removal_with_indirect.ksh +++ b/tests/zfs-tests/tests/functional/removal/removal_with_indirect.ksh @@ -21,12 +21,11 @@ . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/removal/removal.kshlib -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} - -DISK1="$TMPDIR/dsk1" -DISK2="$TMPDIR/dsk2" -DISK3="$TMPDIR/dsk3" -DISK4="$TMPDIR/dsk4" +DISKDIR=$(mktemp -d) +DISK1="$DISKDIR/dsk1" +DISK2="$DISKDIR/dsk2" +DISK3="$DISKDIR/dsk3" +DISK4="$DISKDIR/dsk4" DISKS="$DISK1 $DISK2 $DISK3 $DISK4" log_must mkfile $(($MINVDEVSIZE * 2)) $DISK1 @@ -37,7 +36,7 @@ log_must mkfile $(($MINVDEVSIZE * 2)) $DISK4 function cleanup { default_cleanup_noexit - log_must rm -f $DISKS + log_must rm -rf $DISKDIR } # Build a zpool with 2 mirror vdevs diff --git a/tests/zfs-tests/tests/functional/removal/removal_with_zdb.ksh b/tests/zfs-tests/tests/functional/removal/removal_with_zdb.ksh index 5c469259a..5edb9cd93 100755 --- a/tests/zfs-tests/tests/functional/removal/removal_with_zdb.ksh +++ b/tests/zfs-tests/tests/functional/removal/removal_with_zdb.ksh @@ -21,7 +21,7 @@ . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/removal/removal.kshlib -zdbout=${TMPDIR:-$TEST_BASE_DIR}/zdbout.$$ +zdbout=$(mktemp) if is_linux; then log_unsupported "ZDB fails during concurrent pool activity." diff --git a/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh b/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh index cdbd96202..ff177c531 100755 --- a/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh +++ b/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh @@ -34,10 +34,9 @@ command -v fio > /dev/null || log_unsupported "fio missing" -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} - -DISK1="$TMPDIR/dsk1" -DISK2="$TMPDIR/dsk2" +DISKDIR=$(mktemp -d) +DISK1="$DISKDIR/dsk1" +DISK2="$DISKDIR/dsk2" DISKS="$DISK1 $DISK2" # fio options @@ -58,7 +57,7 @@ log_must mkfile 4g $DISK2 function cleanup { default_cleanup_noexit - log_must rm -f $DISKS + log_must rm -rf $DISKDIR } log_must zpool create -O recordsize=4k $TESTPOOL $DISK1 $DISK2 diff --git a/tests/zfs-tests/tests/functional/removal/remove_expanded.ksh b/tests/zfs-tests/tests/functional/removal/remove_expanded.ksh index 5ee55e9a9..b4374c5ce 100755 --- a/tests/zfs-tests/tests/functional/removal/remove_expanded.ksh +++ b/tests/zfs-tests/tests/functional/removal/remove_expanded.ksh @@ -32,10 +32,10 @@ # -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} -DISK0=$TMPDIR/dsk0 -DISK1=$TMPDIR/dsk1 -DISK2=$TMPDIR/dsk2 +DISKDIR=$(mktemp -d) +DISK0=$DISKDIR/dsk0 +DISK1=$DISKDIR/dsk1 +DISK2=$DISKDIR/dsk2 log_must truncate -s $MINVDEVSIZE $DISK0 log_must truncate -s $(($MINVDEVSIZE * 3)) $DISK1 @@ -44,7 +44,7 @@ log_must truncate -s $MINVDEVSIZE $DISK2 function cleanup { default_cleanup_noexit - log_must rm -f $DISK0 $DISK1 $DISK2 + log_must rm -rf $DISKDIR } # diff --git a/tests/zfs-tests/tests/functional/removal/remove_mirror.ksh b/tests/zfs-tests/tests/functional/removal/remove_mirror.ksh index a62479f2a..ba288a1f6 100755 --- a/tests/zfs-tests/tests/functional/removal/remove_mirror.ksh +++ b/tests/zfs-tests/tests/functional/removal/remove_mirror.ksh @@ -21,11 +21,10 @@ . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/removal/removal.kshlib -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} - -DISK1="$TMPDIR/dsk1" -DISK2="$TMPDIR/dsk2" -DISK3="$TMPDIR/dsk3" +DISKDIR=$(mktemp -d) +DISK1="$DISKDIR/dsk1" +DISK2="$DISKDIR/dsk2" +DISK3="$DISKDIR/dsk3" DISKS="$DISK1 $DISK2 $DISK3" log_must mkfile $(($MINVDEVSIZE * 2)) $DISK1 @@ -35,7 +34,7 @@ log_must mkfile $(($MINVDEVSIZE * 2)) $DISK3 function cleanup { default_cleanup_noexit - log_must rm -f $DISKS + log_must rm -rf $DISKDIR } log_must default_setup_noexit "$DISK1 mirror $DISK2 $DISK3" diff --git a/tests/zfs-tests/tests/functional/removal/remove_raidz.ksh b/tests/zfs-tests/tests/functional/removal/remove_raidz.ksh index 98d4536a1..e9db5e92b 100755 --- a/tests/zfs-tests/tests/functional/removal/remove_raidz.ksh +++ b/tests/zfs-tests/tests/functional/removal/remove_raidz.ksh @@ -21,28 +21,28 @@ . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/removal/removal.kshlib -TMPDIR=${TMPDIR:-$TEST_BASE_DIR} -log_must mkfile $MINVDEVSIZE $TMPDIR/dsk1 -log_must mkfile $MINVDEVSIZE $TMPDIR/dsk2 -log_must mkfile $MINVDEVSIZE $TMPDIR/dsk3 -DISKS1="$TMPDIR/dsk1" -DISKS2="$TMPDIR/dsk2 $TMPDIR/dsk3" +DISKDIR=$(mktemp -d) +log_must mkfile $MINVDEVSIZE $DISKDIR/dsk1 +log_must mkfile $MINVDEVSIZE $DISKDIR/dsk2 +log_must mkfile $MINVDEVSIZE $DISKDIR/dsk3 +DISKS1="$DISKDIR/dsk1" +DISKS2="$DISKDIR/dsk2 $DISKDIR/dsk3" DISKS="$DISKS1 $DISKS2" function cleanup { default_cleanup_noexit - log_must rm -f $DISKS + log_must rm -rf $DISKDIR } log_must default_setup_noexit "$DISKS1 raidz $DISKS2" log_onexit cleanup # Attempt to remove the non raidz disk. -log_mustnot zpool remove $TESTPOOL $TMPDIR/dsk1 +log_mustnot zpool remove $TESTPOOL $DISKDIR/dsk1 # Attempt to remove one of the raidz disks. -log_mustnot zpool remove $TESTPOOL $TMPDIR/dsk2 +log_mustnot zpool remove $TESTPOOL $DISKDIR/dsk2 # Attempt to remove the raidz. log_mustnot zpool remove $TESTPOOL raidz1-1