Commit 8d31a7e5 authored by Ming Lei's avatar Ming Lei Committed by Jens Axboe
Browse files

selftests: ublk: cleanup backfile automatically



Use global array of $UBLK_BACKFILES for storing all backfile name, then
clean them automatically.

Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250412023035.2649275-4-ming.lei@redhat.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 9cad26d6
Loading
Loading
Loading
Loading
+24 −12
Original line number Diff line number Diff line
@@ -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

	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
+3 −5
Original line number Diff line number Diff line
@@ -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
+3 −5
Original line number Diff line number Diff line
@@ -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
+3 −5
Original line number Diff line number Diff line
@@ -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
+4 −5
Original line number Diff line number Diff line
@@ -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
Loading