mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2025-04-19 20:58:31 +09:00
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 <ming.lei@redhat.com> Link: https://lore.kernel.org/r/20250412023035.2649275-4-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
9cad26d66b
commit
8d31a7e505
@ -30,18 +30,26 @@ _run_fio_verify_io() {
|
||||
}
|
||||
|
||||
_create_backfile() {
|
||||
local my_size=$1
|
||||
local my_file
|
||||
local index=$1
|
||||
local new_size=$2
|
||||
local old_file
|
||||
local new_file
|
||||
|
||||
my_file=$(mktemp ublk_file_"${my_size}"_XXXXX)
|
||||
truncate -s "${my_size}" "${my_file}"
|
||||
echo "$my_file"
|
||||
old_file="${UBLK_BACKFILES[$index]}"
|
||||
[ -f "$old_file" ] && rm -f "$old_file"
|
||||
|
||||
new_file=$(mktemp ublk_file_"${new_size}"_XXXXX)
|
||||
truncate -s "${new_size}" "${new_file}"
|
||||
UBLK_BACKFILES["$index"]="$new_file"
|
||||
}
|
||||
|
||||
_remove_backfile() {
|
||||
local file=$1
|
||||
_remove_files() {
|
||||
local file
|
||||
|
||||
[ -f "$file" ] && rm -f "$file"
|
||||
for file in "${UBLK_BACKFILES[@]}"; do
|
||||
[ -f "$file" ] && rm -f "$file"
|
||||
done
|
||||
[ -f "$UBLK_TMP" ] && rm -f "$UBLK_TMP"
|
||||
}
|
||||
|
||||
_create_tmp_dir() {
|
||||
@ -129,7 +137,10 @@ _show_result()
|
||||
echo "$1 : [FAIL]"
|
||||
fi
|
||||
fi
|
||||
[ "$2" -ne 0 ] && exit "$2"
|
||||
if [ "$2" -ne 0 ]; then
|
||||
_remove_files
|
||||
exit "$2"
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -138,16 +149,16 @@ _check_add_dev()
|
||||
{
|
||||
local tid=$1
|
||||
local code=$2
|
||||
shift 2
|
||||
|
||||
if [ "${code}" -ne 0 ]; then
|
||||
_remove_test_files "$@"
|
||||
_show_result "${tid}" "${code}"
|
||||
fi
|
||||
}
|
||||
|
||||
_cleanup_test() {
|
||||
"${UBLK_PROG}" del -a
|
||||
rm -f "$UBLK_TMP"
|
||||
|
||||
_remove_files
|
||||
}
|
||||
|
||||
_have_feature()
|
||||
@ -247,6 +258,7 @@ UBLK_TMP=$(mktemp ublk_test_XXXXX)
|
||||
UBLK_PROG=$(_ublk_test_top_dir)/kublk
|
||||
UBLK_TEST_QUIET=1
|
||||
UBLK_TEST_SHOW_RESULT=1
|
||||
UBLK_BACKFILES=()
|
||||
export UBLK_PROG
|
||||
export UBLK_TEST_QUIET
|
||||
export UBLK_TEST_SHOW_RESULT
|
||||
|
@ -12,10 +12,10 @@ fi
|
||||
|
||||
_prep_test "loop" "write and verify test"
|
||||
|
||||
backfile_0=$(_create_backfile 256M)
|
||||
_create_backfile 0 256M
|
||||
|
||||
dev_id=$(_add_ublk_dev -t loop "$backfile_0")
|
||||
_check_add_dev $TID $? "${backfile_0}"
|
||||
dev_id=$(_add_ublk_dev -t loop "${UBLK_BACKFILES[0]}")
|
||||
_check_add_dev $TID $?
|
||||
|
||||
# run fio over the ublk disk
|
||||
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=256M
|
||||
@ -23,6 +23,4 @@ ERR_CODE=$?
|
||||
|
||||
_cleanup_test "loop"
|
||||
|
||||
_remove_backfile "$backfile_0"
|
||||
|
||||
_show_result $TID $ERR_CODE
|
||||
|
@ -8,15 +8,13 @@ ERR_CODE=0
|
||||
|
||||
_prep_test "loop" "mkfs & mount & umount"
|
||||
|
||||
backfile_0=$(_create_backfile 256M)
|
||||
dev_id=$(_add_ublk_dev -t loop "$backfile_0")
|
||||
_check_add_dev $TID $? "$backfile_0"
|
||||
_create_backfile 0 256M
|
||||
dev_id=$(_add_ublk_dev -t loop "${UBLK_BACKFILES[0]}")
|
||||
_check_add_dev $TID $?
|
||||
|
||||
_mkfs_mount_test /dev/ublkb"${dev_id}"
|
||||
ERR_CODE=$?
|
||||
|
||||
_cleanup_test "loop"
|
||||
|
||||
_remove_backfile "$backfile_0"
|
||||
|
||||
_show_result $TID $ERR_CODE
|
||||
|
@ -12,9 +12,9 @@ fi
|
||||
|
||||
_prep_test "loop" "write and verify over zero copy"
|
||||
|
||||
backfile_0=$(_create_backfile 256M)
|
||||
dev_id=$(_add_ublk_dev -t loop -z "$backfile_0")
|
||||
_check_add_dev $TID $? "$backfile_0"
|
||||
_create_backfile 0 256M
|
||||
dev_id=$(_add_ublk_dev -t loop -z "${UBLK_BACKFILES[0]}")
|
||||
_check_add_dev $TID $?
|
||||
|
||||
# run fio over the ublk disk
|
||||
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=256M
|
||||
@ -22,6 +22,4 @@ ERR_CODE=$?
|
||||
|
||||
_cleanup_test "loop"
|
||||
|
||||
_remove_backfile "$backfile_0"
|
||||
|
||||
_show_result $TID $ERR_CODE
|
||||
|
@ -8,15 +8,14 @@ ERR_CODE=0
|
||||
|
||||
_prep_test "loop" "mkfs & mount & umount with zero copy"
|
||||
|
||||
backfile_0=$(_create_backfile 256M)
|
||||
dev_id=$(_add_ublk_dev -t loop -z "$backfile_0")
|
||||
_check_add_dev $TID $? "$backfile_0"
|
||||
_create_backfile 0 256M
|
||||
|
||||
dev_id=$(_add_ublk_dev -t loop -z "${UBLK_BACKFILES[0]}")
|
||||
_check_add_dev $TID $?
|
||||
|
||||
_mkfs_mount_test /dev/ublkb"${dev_id}"
|
||||
ERR_CODE=$?
|
||||
|
||||
_cleanup_test "loop"
|
||||
|
||||
_remove_backfile "$backfile_0"
|
||||
|
||||
_show_result $TID $ERR_CODE
|
||||
|
@ -12,10 +12,10 @@ fi
|
||||
|
||||
_prep_test "loop" "write and verify test"
|
||||
|
||||
backfile_0=$(_create_backfile 256M)
|
||||
_create_backfile 0 256M
|
||||
|
||||
dev_id=$(_add_ublk_dev -q 2 -t loop "$backfile_0")
|
||||
_check_add_dev $TID $? "${backfile_0}"
|
||||
dev_id=$(_add_ublk_dev -q 2 -t loop "${UBLK_BACKFILES[0]}")
|
||||
_check_add_dev $TID $?
|
||||
|
||||
# run fio over the ublk disk
|
||||
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=256M
|
||||
@ -23,6 +23,4 @@ ERR_CODE=$?
|
||||
|
||||
_cleanup_test "loop"
|
||||
|
||||
_remove_backfile "$backfile_0"
|
||||
|
||||
_show_result $TID $ERR_CODE
|
||||
|
@ -10,17 +10,13 @@ ublk_io_and_remove()
|
||||
{
|
||||
local size=$1
|
||||
shift 1
|
||||
local backfile=""
|
||||
if echo "$@" | grep -q "loop"; then
|
||||
backfile=${*: -1}
|
||||
fi
|
||||
|
||||
DEV_ID=$(_add_ublk_dev "$@")
|
||||
_check_add_dev $TID $? "${backfile}"
|
||||
_check_add_dev $TID $?
|
||||
|
||||
[ "$UBLK_TEST_QUIET" -eq 0 ] && echo "run ublk IO vs. remove device(ublk add $*)"
|
||||
if ! __run_io_and_remove "${DEV_ID}" "${size}" "no"; then
|
||||
echo "/dev/ublkc${DEV_ID} isn't removed"
|
||||
_remove_backfile "${backfile}"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
@ -33,15 +29,15 @@ if [ ${ERR_CODE} -ne 0 ]; then
|
||||
_show_result $TID $ERR_CODE
|
||||
fi
|
||||
|
||||
BACK_FILE=$(_create_backfile 256M)
|
||||
ublk_io_and_remove 256M -t loop -q 4 "${BACK_FILE}"
|
||||
_create_backfile 0 256M
|
||||
|
||||
ublk_io_and_remove 256M -t loop -q 4 "${UBLK_BACKFILES[0]}"
|
||||
ERR_CODE=$?
|
||||
if [ ${ERR_CODE} -ne 0 ]; then
|
||||
_show_result $TID $ERR_CODE
|
||||
fi
|
||||
|
||||
ublk_io_and_remove 256M -t loop -q 4 -z "${BACK_FILE}"
|
||||
ublk_io_and_remove 256M -t loop -q 4 -z "${UBLK_BACKFILES[0]}"
|
||||
ERR_CODE=$?
|
||||
_cleanup_test "stress"
|
||||
_remove_backfile "${BACK_FILE}"
|
||||
_show_result $TID $ERR_CODE
|
||||
|
@ -10,17 +10,13 @@ ublk_io_and_kill_daemon()
|
||||
{
|
||||
local size=$1
|
||||
shift 1
|
||||
local backfile=""
|
||||
if echo "$@" | grep -q "loop"; then
|
||||
backfile=${*: -1}
|
||||
fi
|
||||
|
||||
DEV_ID=$(_add_ublk_dev "$@")
|
||||
_check_add_dev $TID $? "${backfile}"
|
||||
_check_add_dev $TID $?
|
||||
|
||||
[ "$UBLK_TEST_QUIET" -eq 0 ] && echo "run ublk IO vs kill ublk server(ublk add $*)"
|
||||
if ! __run_io_and_remove "${DEV_ID}" "${size}" "yes"; then
|
||||
echo "/dev/ublkc${DEV_ID} isn't removed res ${res}"
|
||||
_remove_backfile "${backfile}"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
@ -33,15 +29,15 @@ if [ ${ERR_CODE} -ne 0 ]; then
|
||||
_show_result $TID $ERR_CODE
|
||||
fi
|
||||
|
||||
BACK_FILE=$(_create_backfile 256M)
|
||||
ublk_io_and_kill_daemon 256M -t loop -q 4 "${BACK_FILE}"
|
||||
_create_backfile 0 256M
|
||||
|
||||
ublk_io_and_kill_daemon 256M -t loop -q 4 "${UBLK_BACKFILES[0]}"
|
||||
ERR_CODE=$?
|
||||
if [ ${ERR_CODE} -ne 0 ]; then
|
||||
_show_result $TID $ERR_CODE
|
||||
fi
|
||||
|
||||
ublk_io_and_kill_daemon 256M -t loop -q 4 -z "${BACK_FILE}"
|
||||
ublk_io_and_kill_daemon 256M -t loop -q 4 -z "${UBLK_BACKFILES[0]}"
|
||||
ERR_CODE=$?
|
||||
_cleanup_test "stress"
|
||||
_remove_backfile "${BACK_FILE}"
|
||||
_show_result $TID $ERR_CODE
|
||||
|
@ -12,19 +12,15 @@ fi
|
||||
|
||||
_prep_test "stripe" "write and verify test"
|
||||
|
||||
backfile_0=$(_create_backfile 256M)
|
||||
backfile_1=$(_create_backfile 256M)
|
||||
_create_backfile 0 256M
|
||||
_create_backfile 1 256M
|
||||
|
||||
dev_id=$(_add_ublk_dev -t stripe "$backfile_0" "$backfile_1")
|
||||
_check_add_dev $TID $? "${backfile_0}"
|
||||
dev_id=$(_add_ublk_dev -t stripe "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
|
||||
_check_add_dev $TID $?
|
||||
|
||||
# run fio over the ublk disk
|
||||
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=512M
|
||||
ERR_CODE=$?
|
||||
|
||||
_cleanup_test "stripe"
|
||||
|
||||
_remove_backfile "$backfile_0"
|
||||
_remove_backfile "$backfile_1"
|
||||
|
||||
_show_result $TID $ERR_CODE
|
||||
|
@ -8,17 +8,14 @@ ERR_CODE=0
|
||||
|
||||
_prep_test "stripe" "mkfs & mount & umount"
|
||||
|
||||
backfile_0=$(_create_backfile 256M)
|
||||
backfile_1=$(_create_backfile 256M)
|
||||
dev_id=$(_add_ublk_dev -t stripe "$backfile_0" "$backfile_1")
|
||||
_check_add_dev $TID $? "$backfile_0" "$backfile_1"
|
||||
_create_backfile 0 256M
|
||||
_create_backfile 1 256M
|
||||
|
||||
dev_id=$(_add_ublk_dev -t stripe "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
|
||||
_check_add_dev $TID $?
|
||||
|
||||
_mkfs_mount_test /dev/ublkb"${dev_id}"
|
||||
ERR_CODE=$?
|
||||
|
||||
_cleanup_test "stripe"
|
||||
|
||||
_remove_backfile "$backfile_0"
|
||||
_remove_backfile "$backfile_1"
|
||||
|
||||
_show_result $TID $ERR_CODE
|
||||
|
@ -12,19 +12,15 @@ fi
|
||||
|
||||
_prep_test "stripe" "write and verify test"
|
||||
|
||||
backfile_0=$(_create_backfile 256M)
|
||||
backfile_1=$(_create_backfile 256M)
|
||||
_create_backfile 0 256M
|
||||
_create_backfile 1 256M
|
||||
|
||||
dev_id=$(_add_ublk_dev -q 2 -t stripe "$backfile_0" "$backfile_1")
|
||||
_check_add_dev $TID $? "${backfile_0}"
|
||||
dev_id=$(_add_ublk_dev -q 2 -t stripe "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
|
||||
_check_add_dev $TID $?
|
||||
|
||||
# run fio over the ublk disk
|
||||
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=512M
|
||||
ERR_CODE=$?
|
||||
|
||||
_cleanup_test "stripe"
|
||||
|
||||
_remove_backfile "$backfile_0"
|
||||
_remove_backfile "$backfile_1"
|
||||
|
||||
_show_result $TID $ERR_CODE
|
||||
|
@ -8,17 +8,14 @@ ERR_CODE=0
|
||||
|
||||
_prep_test "stripe" "mkfs & mount & umount on zero copy"
|
||||
|
||||
backfile_0=$(_create_backfile 256M)
|
||||
backfile_1=$(_create_backfile 256M)
|
||||
dev_id=$(_add_ublk_dev -t stripe -z -q 2 "$backfile_0" "$backfile_1")
|
||||
_check_add_dev $TID $? "$backfile_0" "$backfile_1"
|
||||
_create_backfile 0 256M
|
||||
_create_backfile 1 256M
|
||||
|
||||
dev_id=$(_add_ublk_dev -t stripe -z -q 2 "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
|
||||
_check_add_dev $TID $?
|
||||
|
||||
_mkfs_mount_test /dev/ublkb"${dev_id}"
|
||||
ERR_CODE=$?
|
||||
|
||||
_cleanup_test "stripe"
|
||||
|
||||
_remove_backfile "$backfile_0"
|
||||
_remove_backfile "$backfile_1"
|
||||
|
||||
_show_result $TID $ERR_CODE
|
||||
|
Loading…
x
Reference in New Issue
Block a user