Skip to content

Commit a44f423

Browse files
robntonyhutter
authored andcommitted
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>
1 parent 72c0fde commit a44f423

15 files changed

+89
-92
lines changed

tests/zfs-tests/tests/functional/block_cloning/block_cloning.kshlib

+6-4
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,13 @@ function get_same_blocks
4848
if [ ${#KEY} -gt 0 ]; then
4949
KEY="--key=$KEY"
5050
fi
51-
typeset zdbout=${TMPDIR:-$TEST_BASE_DIR}/zdbout.$$
51+
typeset zdbout1=$(mktemp)
52+
typeset zdbout2=$(mktemp)
5253
zdb $KEY -vvvvv $1 -O $2 | \
53-
awk '/ L0 / { print l++ " " $3 " " $7 }' > $zdbout.a
54+
awk '/ L0 / { print l++ " " $3 " " $7 }' > $zdbout1
5455
zdb $KEY -vvvvv $3 -O $4 | \
55-
awk '/ L0 / { print l++ " " $3 " " $7 }' > $zdbout.b
56-
echo $(sort -n $zdbout.a $zdbout.b | uniq -d | cut -f1 -d' ')
56+
awk '/ L0 / { print l++ " " $3 " " $7 }' > $zdbout2
57+
echo $(sort -n $zdbout1 $zdbout2 | uniq -d | cut -f1 -d' ')
58+
rm -f $zdbout1 $zdbout2
5759
}
5860

tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.ksh

+5-7
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@
3838

3939
verify_runnable "both"
4040

41-
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
42-
MNTPT=$TMPDIR/zfs_mount_test_race_mntpt
43-
DISK1="$TMPDIR/zfs_mount_test_race_disk1"
44-
DISK2="$TMPDIR/zfs_mount_test_race_disk2"
41+
DISKDIR=$(mktemp -d)
42+
MNTPT=$DISKDIR/zfs_mount_test_race_mntpt
43+
DISK1="$DISKDIR/zfs_mount_test_race_disk1"
44+
DISK2="$DISKDIR/zfs_mount_test_race_disk2"
4545

4646
TESTPOOL1=zfs_mount_test_race_tp1
4747
TESTPOOL2=zfs_mount_test_race_tp2
@@ -54,11 +54,9 @@ function cleanup
5454
{
5555
zpool destroy $TESTPOOL1
5656
zpool destroy $TESTPOOL2
57-
rm -rf $MNTPT
57+
rm -rf $DISKDIR
5858
rm -rf /$TESTPOOL1
5959
rm -rf /$TESTPOOL2
60-
rm -f $DISK1
61-
rm -f $DISK2
6260
export __ZFS_POOL_RESTRICT="$TESTPOOL1 $TESTPOOL2"
6361
log_must zfs $mountall
6462
unset __ZFS_POOL_RESTRICT

tests/zfs-tests/tests/functional/fault/suspend_resume_single.ksh

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626

2727
. $STF_SUITE/include/libtest.shlib
2828

29-
DATAFILE="$TMPDIR/datafile"
29+
DATAFILE=$(mktemp)
3030

3131
function cleanup
3232
{
3333
zpool clear $TESTPOOL
3434
destroy_pool $TESTPOOL
3535
unload_scsi_debug
36-
rm -f $DATA_FILE
36+
rm -f $DATAFILE
3737
}
3838

3939
log_onexit cleanup

tests/zfs-tests/tests/functional/removal/removal_check_space.ksh

+7-7
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,24 @@
2121
. $STF_SUITE/include/libtest.shlib
2222
. $STF_SUITE/tests/functional/removal/removal.kshlib
2323

24-
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
25-
log_must mkfile $MINVDEVSIZE $TMPDIR/dsk1
26-
log_must mkfile $MINVDEVSIZE $TMPDIR/dsk2
27-
DISKS="$TMPDIR/dsk1 $TMPDIR/dsk2"
28-
REMOVEDISK=$TMPDIR/dsk1
24+
DISKDIR=$(mktemp -d)
25+
log_must mkfile $MINVDEVSIZE $DISKDIR/dsk1
26+
log_must mkfile $MINVDEVSIZE $DISKDIR/dsk2
27+
DISKS="$DISKDIR/dsk1 $DISKDIR/dsk2"
28+
REMOVEDISK=$DISKDIR/dsk1
2929

3030
log_must default_setup_noexit "$DISKS"
3131

3232
function cleanup
3333
{
3434
default_cleanup_noexit
35-
log_must rm -f $DISKS
35+
log_must rm -rf $DISKDIR
3636
}
3737
log_onexit cleanup
3838

3939
# Write a little more than half the pool.
4040
log_must dd if=/dev/urandom of=/$TESTDIR/$TESTFILE0 bs=$((2**20)) \
4141
count=$((MINVDEVSIZE / (1024 * 1024)))
42-
log_mustnot zpool remove $TESTPOOL $TMPDIR/dsk1
42+
log_mustnot zpool remove $TESTPOOL $DISKDIR/dsk1
4343

4444
log_pass "Removal will not succeed if insufficient space."

tests/zfs-tests/tests/functional/removal/removal_multiple_indirection.ksh

+12-12
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,18 @@
4444
# that the files contents remain the same across transfers.
4545
#
4646

47-
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
48-
log_must mkfile $(($MINVDEVSIZE * 2)) $TMPDIR/dsk1
49-
log_must mkfile $(($MINVDEVSIZE * 2)) $TMPDIR/dsk2
50-
DISKS="$TMPDIR/dsk1 $TMPDIR/dsk2"
51-
REMOVEDISK=$TMPDIR/dsk1
47+
DISKDIR=$(mktemp -d)
48+
log_must mkfile $(($MINVDEVSIZE * 2)) $DISKDIR/dsk1
49+
log_must mkfile $(($MINVDEVSIZE * 2)) $DISKDIR/dsk2
50+
DISKS="$DISKDIR/dsk1 $DISKDIR/dsk2"
51+
REMOVEDISK=$DISKDIR/dsk1
5252

5353
log_must default_setup_noexit "$DISKS"
5454

5555
function cleanup
5656
{
5757
default_cleanup_noexit
58-
log_must rm -f $DISKS
58+
log_must rm -rf $DISKDIR
5959

6060
# reset REMOVE_MAX_SEGMENT to 1M
6161
set_tunable32 REMOVE_MAX_SEGMENT 1048576
@@ -71,19 +71,19 @@ FILE_CONTENTS=$(<$TESTDIR/$TESTFILE0)
7171
log_must [ "x$(<$TESTDIR/$TESTFILE0)" = "x$FILE_CONTENTS" ]
7272

7373
for i in {1..10}; do
74-
log_must zpool remove $TESTPOOL $TMPDIR/dsk1
74+
log_must zpool remove $TESTPOOL $DISKDIR/dsk1
7575
log_must wait_for_removal $TESTPOOL
76-
log_mustnot vdevs_in_pool $TESTPOOL $TMPDIR/dsk1
77-
log_must zpool add $TESTPOOL $TMPDIR/dsk1
76+
log_mustnot vdevs_in_pool $TESTPOOL $DISKDIR/dsk1
77+
log_must zpool add $TESTPOOL $DISKDIR/dsk1
7878

7979
log_must zinject -a
8080
log_must dd if=$TESTDIR/$TESTFILE0 of=/dev/null
8181
log_must [ "x$(<$TESTDIR/$TESTFILE0)" = "x$FILE_CONTENTS" ]
8282

83-
log_must zpool remove $TESTPOOL $TMPDIR/dsk2
83+
log_must zpool remove $TESTPOOL $DISKDIR/dsk2
8484
log_must wait_for_removal $TESTPOOL
85-
log_mustnot vdevs_in_pool $TESTPOOL $TMPDIR/dsk2
86-
log_must zpool add $TESTPOOL $TMPDIR/dsk2
85+
log_mustnot vdevs_in_pool $TESTPOOL $DISKDIR/dsk2
86+
log_must zpool add $TESTPOOL $DISKDIR/dsk2
8787

8888
log_must zinject -a
8989
log_must dd if=$TESTDIR/$TESTFILE0 of=/dev/null

tests/zfs-tests/tests/functional/removal/removal_reservation.ksh

+6-6
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,18 @@
2121
. $STF_SUITE/include/libtest.shlib
2222
. $STF_SUITE/tests/functional/removal/removal.kshlib
2323

24-
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
25-
log_must mkfile 1g $TMPDIR/dsk1
26-
log_must mkfile 1g $TMPDIR/dsk2
27-
DISKS="$TMPDIR/dsk1 $TMPDIR/dsk2"
28-
REMOVEDISK=$TMPDIR/dsk1
24+
DISKDIR=$(mktemp -d)
25+
log_must mkfile 1g $DISKDIR/dsk1
26+
log_must mkfile 1g $DISKDIR/dsk2
27+
DISKS="$DISKDIR/dsk1 $DISKDIR/dsk2"
28+
REMOVEDISK=$DISKDIR/dsk1
2929

3030
default_setup_noexit "$DISKS"
3131

3232
function cleanup
3333
{
3434
default_cleanup_noexit
35-
log_must rm -f $DISKS
35+
log_must rm -rf $DISKDIR
3636
}
3737

3838
log_onexit cleanup

tests/zfs-tests/tests/functional/removal/removal_with_add.ksh

+7-7
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,25 @@
2121
. $STF_SUITE/include/libtest.shlib
2222
. $STF_SUITE/tests/functional/removal/removal.kshlib
2323

24-
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
25-
log_must mkfile 1g $TMPDIR/dsk1
26-
log_must mkfile 1g $TMPDIR/dsk2
24+
DISKDIR=$(mktemp -d)
25+
log_must mkfile 1g $DISKDIR/dsk1
26+
log_must mkfile 1g $DISKDIR/dsk2
2727

2828
function cleanup
2929
{
3030
default_cleanup_noexit
31-
log_must rm -f $TMPDIR/dsk1 $TMPDIR/dsk2
31+
log_must rm -rf $DISKDIR
3232
}
3333

3434
default_setup_noexit "$DISKS"
3535
log_onexit cleanup
3636

3737
function callback
3838
{
39-
log_mustnot zpool attach -f $TESTPOOL $TMPDIR/dsk1 $TMPDIR/dsk2
39+
log_mustnot zpool attach -f $TESTPOOL $DISKDIR/dsk1 $DISKDIR/dsk2
4040
log_mustnot zpool add -f $TESTPOOL \
41-
raidz $TMPDIR/dsk1 $TMPDIR/dsk2
42-
log_must zpool add -f $TESTPOOL $TMPDIR/dsk1
41+
raidz $DISKDIR/dsk1 $DISKDIR/dsk2
42+
log_must zpool add -f $TESTPOOL $DISKDIR/dsk1
4343
return 0
4444
}
4545

tests/zfs-tests/tests/functional/removal/removal_with_errors.ksh

+8-8
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@
4444
# 7. Lastly verify the pool data is still intact.
4545
#
4646

47-
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
48-
DISK0=$TMPDIR/dsk0
49-
DISK1=$TMPDIR/dsk1
50-
DISK2=$TMPDIR/dsk2
51-
DISK3=$TMPDIR/dsk3
47+
DISKDIR=$(mktemp -d)
48+
DISK0=$DISKDIR/dsk0
49+
DISK1=$DISKDIR/dsk1
50+
DISK2=$DISKDIR/dsk2
51+
DISK3=$DISKDIR/dsk3
5252

5353
log_must truncate -s $MINVDEVSIZE $DISK0 $DISK1
5454
log_must truncate -s $((MINVDEVSIZE * 4)) $DISK2 $DISK3
@@ -57,7 +57,7 @@ function cleanup
5757
{
5858
log_must zinject -c all
5959
default_cleanup_noexit
60-
log_must rm -f $DISK0 $DISK1 $DISK2 $DISK3
60+
log_must rm -rf $DISKDIR
6161
}
6262

6363
function wait_for_removing_cancel
@@ -88,7 +88,7 @@ log_must file_write -o create -f $TESTDIR/$TESTFILE1 -b $((2**20)) -c $((2**8))
8888

8989
# Flush the ARC to minimize cache effects.
9090
log_must zpool export $TESTPOOL
91-
log_must zpool import -d $TMPDIR $TESTPOOL
91+
log_must zpool import -d $DISKDIR $TESTPOOL
9292

9393
# Verify that unexpected read errors automatically cancel the removal.
9494
log_must zinject -d $DISK0 -e io -T all -f 100 $TESTPOOL
@@ -99,7 +99,7 @@ log_must zinject -c all
9999

100100
# Flush the ARC to minimize cache effects.
101101
log_must zpool export $TESTPOOL
102-
log_must zpool import -d $TMPDIR $TESTPOOL
102+
log_must zpool import -d $DISKDIR $TESTPOOL
103103

104104
# Verify that unexpected write errors automatically cancel the removal.
105105
log_must zinject -d $DISK3 -e io -T all -f 100 $TESTPOOL

tests/zfs-tests/tests/functional/removal/removal_with_faulted.ksh

+6-6
Original file line numberDiff line numberDiff line change
@@ -63,19 +63,19 @@
6363
# data is still intact.
6464
#
6565

66-
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
67-
DISK0=$TMPDIR/dsk0
68-
DISK1=$TMPDIR/dsk1
69-
DISK2=$TMPDIR/dsk2
70-
DISK3=$TMPDIR/dsk3
66+
DISKDIR=$(mktemp -d)
67+
DISK0=$DISKDIR/dsk0
68+
DISK1=$DISKDIR/dsk1
69+
DISK2=$DISKDIR/dsk2
70+
DISK3=$DISKDIR/dsk3
7171

7272
log_must truncate -s $MINVDEVSIZE $DISK0 $DISK1
7373
log_must truncate -s $((MINVDEVSIZE * 4)) $DISK2 $DISK3
7474

7575
function cleanup
7676
{
7777
default_cleanup_noexit
78-
log_must rm -f $DISK0 $DISK1 $DISK2 $DISK3
78+
log_must rm -rf $DISKDIR
7979
}
8080

8181
default_setup_noexit "mirror $DISK0 $DISK1 mirror $DISK2 $DISK3"

tests/zfs-tests/tests/functional/removal/removal_with_indirect.ksh

+6-7
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,11 @@
2121
. $STF_SUITE/include/libtest.shlib
2222
. $STF_SUITE/tests/functional/removal/removal.kshlib
2323

24-
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
25-
26-
DISK1="$TMPDIR/dsk1"
27-
DISK2="$TMPDIR/dsk2"
28-
DISK3="$TMPDIR/dsk3"
29-
DISK4="$TMPDIR/dsk4"
24+
DISKDIR=$(mktemp -d)
25+
DISK1="$DISKDIR/dsk1"
26+
DISK2="$DISKDIR/dsk2"
27+
DISK3="$DISKDIR/dsk3"
28+
DISK4="$DISKDIR/dsk4"
3029
DISKS="$DISK1 $DISK2 $DISK3 $DISK4"
3130

3231
log_must mkfile $(($MINVDEVSIZE * 2)) $DISK1
@@ -37,7 +36,7 @@ log_must mkfile $(($MINVDEVSIZE * 2)) $DISK4
3736
function cleanup
3837
{
3938
default_cleanup_noexit
40-
log_must rm -f $DISKS
39+
log_must rm -rf $DISKDIR
4140
}
4241

4342
# Build a zpool with 2 mirror vdevs

tests/zfs-tests/tests/functional/removal/removal_with_zdb.ksh

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
. $STF_SUITE/include/libtest.shlib
2222
. $STF_SUITE/tests/functional/removal/removal.kshlib
2323

24-
zdbout=${TMPDIR:-$TEST_BASE_DIR}/zdbout.$$
24+
zdbout=$(mktemp)
2525

2626
if is_linux; then
2727
log_unsupported "ZDB fails during concurrent pool activity."

tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh

+4-5
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,9 @@
3434

3535
command -v fio > /dev/null || log_unsupported "fio missing"
3636

37-
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
38-
39-
DISK1="$TMPDIR/dsk1"
40-
DISK2="$TMPDIR/dsk2"
37+
DISKDIR=$(mktemp -d)
38+
DISK1="$DISKDIR/dsk1"
39+
DISK2="$DISKDIR/dsk2"
4140
DISKS="$DISK1 $DISK2"
4241

4342
# fio options
@@ -58,7 +57,7 @@ log_must mkfile 4g $DISK2
5857
function cleanup
5958
{
6059
default_cleanup_noexit
61-
log_must rm -f $DISKS
60+
log_must rm -rf $DISKDIR
6261
}
6362

6463
log_must zpool create -O recordsize=4k $TESTPOOL $DISK1 $DISK2

tests/zfs-tests/tests/functional/removal/remove_expanded.ksh

+5-5
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
#
3333

3434

35-
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
36-
DISK0=$TMPDIR/dsk0
37-
DISK1=$TMPDIR/dsk1
38-
DISK2=$TMPDIR/dsk2
35+
DISKDIR=$(mktemp -d)
36+
DISK0=$DISKDIR/dsk0
37+
DISK1=$DISKDIR/dsk1
38+
DISK2=$DISKDIR/dsk2
3939

4040
log_must truncate -s $MINVDEVSIZE $DISK0
4141
log_must truncate -s $(($MINVDEVSIZE * 3)) $DISK1
@@ -44,7 +44,7 @@ log_must truncate -s $MINVDEVSIZE $DISK2
4444
function cleanup
4545
{
4646
default_cleanup_noexit
47-
log_must rm -f $DISK0 $DISK1 $DISK2
47+
log_must rm -rf $DISKDIR
4848
}
4949

5050
#

tests/zfs-tests/tests/functional/removal/remove_mirror.ksh

+5-6
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,10 @@
2121
. $STF_SUITE/include/libtest.shlib
2222
. $STF_SUITE/tests/functional/removal/removal.kshlib
2323

24-
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
25-
26-
DISK1="$TMPDIR/dsk1"
27-
DISK2="$TMPDIR/dsk2"
28-
DISK3="$TMPDIR/dsk3"
24+
DISKDIR=$(mktemp -d)
25+
DISK1="$DISKDIR/dsk1"
26+
DISK2="$DISKDIR/dsk2"
27+
DISK3="$DISKDIR/dsk3"
2928
DISKS="$DISK1 $DISK2 $DISK3"
3029

3130
log_must mkfile $(($MINVDEVSIZE * 2)) $DISK1
@@ -35,7 +34,7 @@ log_must mkfile $(($MINVDEVSIZE * 2)) $DISK3
3534
function cleanup
3635
{
3736
default_cleanup_noexit
38-
log_must rm -f $DISKS
37+
log_must rm -rf $DISKDIR
3938
}
4039

4140
log_must default_setup_noexit "$DISK1 mirror $DISK2 $DISK3"

0 commit comments

Comments
 (0)