mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-05-09 18:28:27 +03:00
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 <robn@despairlabs.com> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de> Reviewed-by: Igor Kozhukhov <igor@dilos.org>
This commit is contained in:
parent
72c0fde609
commit
a44f423b00
@ -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
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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."
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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."
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user