Skip to content

Commit 8d31a7e

Browse files
Ming Leiaxboe
authored andcommitted
selftests: ublk: cleanup backfile automatically
Use global array of $UBLK_BACKFILES for storing all backfile name, then clean them automatically. Signed-off-by: Ming Lei <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
1 parent 9cad26d commit 8d31a7e

12 files changed

+70
-89
lines changed

tools/testing/selftests/ublk/test_common.sh

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,26 @@ _run_fio_verify_io() {
3030
}
3131

3232
_create_backfile() {
33-
local my_size=$1
34-
local my_file
33+
local index=$1
34+
local new_size=$2
35+
local old_file
36+
local new_file
3537

36-
my_file=$(mktemp ublk_file_"${my_size}"_XXXXX)
37-
truncate -s "${my_size}" "${my_file}"
38-
echo "$my_file"
38+
old_file="${UBLK_BACKFILES[$index]}"
39+
[ -f "$old_file" ] && rm -f "$old_file"
40+
41+
new_file=$(mktemp ublk_file_"${new_size}"_XXXXX)
42+
truncate -s "${new_size}" "${new_file}"
43+
UBLK_BACKFILES["$index"]="$new_file"
3944
}
4045

41-
_remove_backfile() {
42-
local file=$1
46+
_remove_files() {
47+
local file
4348

44-
[ -f "$file" ] && rm -f "$file"
49+
for file in "${UBLK_BACKFILES[@]}"; do
50+
[ -f "$file" ] && rm -f "$file"
51+
done
52+
[ -f "$UBLK_TMP" ] && rm -f "$UBLK_TMP"
4553
}
4654

4755
_create_tmp_dir() {
@@ -129,7 +137,10 @@ _show_result()
129137
echo "$1 : [FAIL]"
130138
fi
131139
fi
132-
[ "$2" -ne 0 ] && exit "$2"
140+
if [ "$2" -ne 0 ]; then
141+
_remove_files
142+
exit "$2"
143+
fi
133144
return 0
134145
}
135146

@@ -138,16 +149,16 @@ _check_add_dev()
138149
{
139150
local tid=$1
140151
local code=$2
141-
shift 2
152+
142153
if [ "${code}" -ne 0 ]; then
143-
_remove_test_files "$@"
144154
_show_result "${tid}" "${code}"
145155
fi
146156
}
147157

148158
_cleanup_test() {
149159
"${UBLK_PROG}" del -a
150-
rm -f "$UBLK_TMP"
160+
161+
_remove_files
151162
}
152163

153164
_have_feature()
@@ -247,6 +258,7 @@ UBLK_TMP=$(mktemp ublk_test_XXXXX)
247258
UBLK_PROG=$(_ublk_test_top_dir)/kublk
248259
UBLK_TEST_QUIET=1
249260
UBLK_TEST_SHOW_RESULT=1
261+
UBLK_BACKFILES=()
250262
export UBLK_PROG
251263
export UBLK_TEST_QUIET
252264
export UBLK_TEST_SHOW_RESULT

tools/testing/selftests/ublk/test_loop_01.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,15 @@ fi
1212

1313
_prep_test "loop" "write and verify test"
1414

15-
backfile_0=$(_create_backfile 256M)
15+
_create_backfile 0 256M
1616

17-
dev_id=$(_add_ublk_dev -t loop "$backfile_0")
18-
_check_add_dev $TID $? "${backfile_0}"
17+
dev_id=$(_add_ublk_dev -t loop "${UBLK_BACKFILES[0]}")
18+
_check_add_dev $TID $?
1919

2020
# run fio over the ublk disk
2121
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=256M
2222
ERR_CODE=$?
2323

2424
_cleanup_test "loop"
2525

26-
_remove_backfile "$backfile_0"
27-
2826
_show_result $TID $ERR_CODE

tools/testing/selftests/ublk/test_loop_02.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,13 @@ ERR_CODE=0
88

99
_prep_test "loop" "mkfs & mount & umount"
1010

11-
backfile_0=$(_create_backfile 256M)
12-
dev_id=$(_add_ublk_dev -t loop "$backfile_0")
13-
_check_add_dev $TID $? "$backfile_0"
11+
_create_backfile 0 256M
12+
dev_id=$(_add_ublk_dev -t loop "${UBLK_BACKFILES[0]}")
13+
_check_add_dev $TID $?
1414

1515
_mkfs_mount_test /dev/ublkb"${dev_id}"
1616
ERR_CODE=$?
1717

1818
_cleanup_test "loop"
1919

20-
_remove_backfile "$backfile_0"
21-
2220
_show_result $TID $ERR_CODE

tools/testing/selftests/ublk/test_loop_03.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,14 @@ fi
1212

1313
_prep_test "loop" "write and verify over zero copy"
1414

15-
backfile_0=$(_create_backfile 256M)
16-
dev_id=$(_add_ublk_dev -t loop -z "$backfile_0")
17-
_check_add_dev $TID $? "$backfile_0"
15+
_create_backfile 0 256M
16+
dev_id=$(_add_ublk_dev -t loop -z "${UBLK_BACKFILES[0]}")
17+
_check_add_dev $TID $?
1818

1919
# run fio over the ublk disk
2020
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=256M
2121
ERR_CODE=$?
2222

2323
_cleanup_test "loop"
2424

25-
_remove_backfile "$backfile_0"
26-
2725
_show_result $TID $ERR_CODE

tools/testing/selftests/ublk/test_loop_04.sh

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@ ERR_CODE=0
88

99
_prep_test "loop" "mkfs & mount & umount with zero copy"
1010

11-
backfile_0=$(_create_backfile 256M)
12-
dev_id=$(_add_ublk_dev -t loop -z "$backfile_0")
13-
_check_add_dev $TID $? "$backfile_0"
11+
_create_backfile 0 256M
12+
13+
dev_id=$(_add_ublk_dev -t loop -z "${UBLK_BACKFILES[0]}")
14+
_check_add_dev $TID $?
1415

1516
_mkfs_mount_test /dev/ublkb"${dev_id}"
1617
ERR_CODE=$?
1718

1819
_cleanup_test "loop"
1920

20-
_remove_backfile "$backfile_0"
21-
2221
_show_result $TID $ERR_CODE

tools/testing/selftests/ublk/test_loop_05.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,15 @@ fi
1212

1313
_prep_test "loop" "write and verify test"
1414

15-
backfile_0=$(_create_backfile 256M)
15+
_create_backfile 0 256M
1616

17-
dev_id=$(_add_ublk_dev -q 2 -t loop "$backfile_0")
18-
_check_add_dev $TID $? "${backfile_0}"
17+
dev_id=$(_add_ublk_dev -q 2 -t loop "${UBLK_BACKFILES[0]}")
18+
_check_add_dev $TID $?
1919

2020
# run fio over the ublk disk
2121
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=256M
2222
ERR_CODE=$?
2323

2424
_cleanup_test "loop"
2525

26-
_remove_backfile "$backfile_0"
27-
2826
_show_result $TID $ERR_CODE

tools/testing/selftests/ublk/test_stress_01.sh

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,13 @@ ublk_io_and_remove()
1010
{
1111
local size=$1
1212
shift 1
13-
local backfile=""
14-
if echo "$@" | grep -q "loop"; then
15-
backfile=${*: -1}
16-
fi
13+
1714
DEV_ID=$(_add_ublk_dev "$@")
18-
_check_add_dev $TID $? "${backfile}"
15+
_check_add_dev $TID $?
1916

2017
[ "$UBLK_TEST_QUIET" -eq 0 ] && echo "run ublk IO vs. remove device(ublk add $*)"
2118
if ! __run_io_and_remove "${DEV_ID}" "${size}" "no"; then
2219
echo "/dev/ublkc${DEV_ID} isn't removed"
23-
_remove_backfile "${backfile}"
2420
exit 255
2521
fi
2622
}
@@ -33,15 +29,15 @@ if [ ${ERR_CODE} -ne 0 ]; then
3329
_show_result $TID $ERR_CODE
3430
fi
3531

36-
BACK_FILE=$(_create_backfile 256M)
37-
ublk_io_and_remove 256M -t loop -q 4 "${BACK_FILE}"
32+
_create_backfile 0 256M
33+
34+
ublk_io_and_remove 256M -t loop -q 4 "${UBLK_BACKFILES[0]}"
3835
ERR_CODE=$?
3936
if [ ${ERR_CODE} -ne 0 ]; then
4037
_show_result $TID $ERR_CODE
4138
fi
4239

43-
ublk_io_and_remove 256M -t loop -q 4 -z "${BACK_FILE}"
40+
ublk_io_and_remove 256M -t loop -q 4 -z "${UBLK_BACKFILES[0]}"
4441
ERR_CODE=$?
4542
_cleanup_test "stress"
46-
_remove_backfile "${BACK_FILE}"
4743
_show_result $TID $ERR_CODE

tools/testing/selftests/ublk/test_stress_02.sh

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,13 @@ ublk_io_and_kill_daemon()
1010
{
1111
local size=$1
1212
shift 1
13-
local backfile=""
14-
if echo "$@" | grep -q "loop"; then
15-
backfile=${*: -1}
16-
fi
13+
1714
DEV_ID=$(_add_ublk_dev "$@")
18-
_check_add_dev $TID $? "${backfile}"
15+
_check_add_dev $TID $?
1916

2017
[ "$UBLK_TEST_QUIET" -eq 0 ] && echo "run ublk IO vs kill ublk server(ublk add $*)"
2118
if ! __run_io_and_remove "${DEV_ID}" "${size}" "yes"; then
2219
echo "/dev/ublkc${DEV_ID} isn't removed res ${res}"
23-
_remove_backfile "${backfile}"
2420
exit 255
2521
fi
2622
}
@@ -33,15 +29,15 @@ if [ ${ERR_CODE} -ne 0 ]; then
3329
_show_result $TID $ERR_CODE
3430
fi
3531

36-
BACK_FILE=$(_create_backfile 256M)
37-
ublk_io_and_kill_daemon 256M -t loop -q 4 "${BACK_FILE}"
32+
_create_backfile 0 256M
33+
34+
ublk_io_and_kill_daemon 256M -t loop -q 4 "${UBLK_BACKFILES[0]}"
3835
ERR_CODE=$?
3936
if [ ${ERR_CODE} -ne 0 ]; then
4037
_show_result $TID $ERR_CODE
4138
fi
4239

43-
ublk_io_and_kill_daemon 256M -t loop -q 4 -z "${BACK_FILE}"
40+
ublk_io_and_kill_daemon 256M -t loop -q 4 -z "${UBLK_BACKFILES[0]}"
4441
ERR_CODE=$?
4542
_cleanup_test "stress"
46-
_remove_backfile "${BACK_FILE}"
4743
_show_result $TID $ERR_CODE

tools/testing/selftests/ublk/test_stripe_01.sh

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,15 @@ fi
1212

1313
_prep_test "stripe" "write and verify test"
1414

15-
backfile_0=$(_create_backfile 256M)
16-
backfile_1=$(_create_backfile 256M)
15+
_create_backfile 0 256M
16+
_create_backfile 1 256M
1717

18-
dev_id=$(_add_ublk_dev -t stripe "$backfile_0" "$backfile_1")
19-
_check_add_dev $TID $? "${backfile_0}"
18+
dev_id=$(_add_ublk_dev -t stripe "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
19+
_check_add_dev $TID $?
2020

2121
# run fio over the ublk disk
2222
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=512M
2323
ERR_CODE=$?
2424

2525
_cleanup_test "stripe"
26-
27-
_remove_backfile "$backfile_0"
28-
_remove_backfile "$backfile_1"
29-
3026
_show_result $TID $ERR_CODE

tools/testing/selftests/ublk/test_stripe_02.sh

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,14 @@ ERR_CODE=0
88

99
_prep_test "stripe" "mkfs & mount & umount"
1010

11-
backfile_0=$(_create_backfile 256M)
12-
backfile_1=$(_create_backfile 256M)
13-
dev_id=$(_add_ublk_dev -t stripe "$backfile_0" "$backfile_1")
14-
_check_add_dev $TID $? "$backfile_0" "$backfile_1"
11+
_create_backfile 0 256M
12+
_create_backfile 1 256M
13+
14+
dev_id=$(_add_ublk_dev -t stripe "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
15+
_check_add_dev $TID $?
1516

1617
_mkfs_mount_test /dev/ublkb"${dev_id}"
1718
ERR_CODE=$?
1819

1920
_cleanup_test "stripe"
20-
21-
_remove_backfile "$backfile_0"
22-
_remove_backfile "$backfile_1"
23-
2421
_show_result $TID $ERR_CODE

0 commit comments

Comments
 (0)