* [PATCH 0/3] selftests: ublk: integrity test cleanups
@ 2026-04-21 20:08 Caleb Sander Mateos
2026-04-21 20:08 ` [PATCH 1/3] selftests: ublk: remove unused argument to _cleanup Caleb Sander Mateos
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Caleb Sander Mateos @ 2026-04-21 20:08 UTC (permalink / raw)
To: Ming Lei, Shuah Khan
Cc: linux-kernel, linux-block, linux-kselftest, Caleb Sander Mateos
Update test_integrity_02 to allow fio-3.42 now that it's been released.
Add a modified version test_integrity_03 that uses auto integrity and
avoids the newer fio requirement.
Also clean up the callers of _cleanup passing an unnecessary argument.
Caleb Sander Mateos (3):
selftests: ublk: remove unused argument to _cleanup
selftests: ublk: enable test_integrity_02.sh on fio 3.42
selftests: ublk: add ublk auto integrity test
tools/testing/selftests/ublk/Makefile | 1 +
tools/testing/selftests/ublk/test_batch_01.sh | 4 +-
tools/testing/selftests/ublk/test_batch_02.sh | 2 +-
tools/testing/selftests/ublk/test_batch_03.sh | 2 +-
.../testing/selftests/ublk/test_generic_02.sh | 4 +-
.../testing/selftests/ublk/test_generic_03.sh | 2 +-
.../testing/selftests/ublk/test_generic_06.sh | 2 +-
.../testing/selftests/ublk/test_generic_07.sh | 2 +-
.../testing/selftests/ublk/test_generic_08.sh | 4 +-
.../testing/selftests/ublk/test_generic_09.sh | 2 +-
.../testing/selftests/ublk/test_generic_10.sh | 2 +-
.../testing/selftests/ublk/test_generic_12.sh | 4 +-
.../testing/selftests/ublk/test_generic_13.sh | 2 +-
.../testing/selftests/ublk/test_generic_16.sh | 4 +-
.../testing/selftests/ublk/test_generic_17.sh | 2 +-
.../selftests/ublk/test_integrity_02.sh | 5 +-
.../selftests/ublk/test_integrity_03.sh | 103 ++++++++++++++++++
tools/testing/selftests/ublk/test_loop_01.sh | 2 +-
tools/testing/selftests/ublk/test_loop_02.sh | 2 +-
tools/testing/selftests/ublk/test_loop_03.sh | 2 +-
tools/testing/selftests/ublk/test_loop_04.sh | 2 +-
tools/testing/selftests/ublk/test_loop_05.sh | 2 +-
tools/testing/selftests/ublk/test_loop_06.sh | 2 +-
tools/testing/selftests/ublk/test_loop_07.sh | 2 +-
tools/testing/selftests/ublk/test_null_01.sh | 2 +-
tools/testing/selftests/ublk/test_null_02.sh | 2 +-
tools/testing/selftests/ublk/test_null_03.sh | 2 +-
tools/testing/selftests/ublk/test_part_01.sh | 4 +-
tools/testing/selftests/ublk/test_part_02.sh | 2 +-
.../testing/selftests/ublk/test_recover_01.sh | 2 +-
.../testing/selftests/ublk/test_recover_02.sh | 2 +-
.../testing/selftests/ublk/test_recover_03.sh | 2 +-
.../testing/selftests/ublk/test_recover_04.sh | 2 +-
.../testing/selftests/ublk/test_shmemzc_01.sh | 2 +-
.../testing/selftests/ublk/test_shmemzc_02.sh | 2 +-
.../testing/selftests/ublk/test_shmemzc_03.sh | 2 +-
.../testing/selftests/ublk/test_shmemzc_04.sh | 2 +-
.../testing/selftests/ublk/test_stress_01.sh | 2 +-
.../testing/selftests/ublk/test_stress_02.sh | 2 +-
.../testing/selftests/ublk/test_stress_03.sh | 2 +-
.../testing/selftests/ublk/test_stress_04.sh | 2 +-
.../testing/selftests/ublk/test_stress_05.sh | 2 +-
.../testing/selftests/ublk/test_stress_06.sh | 2 +-
.../testing/selftests/ublk/test_stress_07.sh | 2 +-
.../testing/selftests/ublk/test_stress_08.sh | 2 +-
.../testing/selftests/ublk/test_stress_09.sh | 2 +-
.../testing/selftests/ublk/test_stripe_01.sh | 2 +-
.../testing/selftests/ublk/test_stripe_02.sh | 2 +-
.../testing/selftests/ublk/test_stripe_03.sh | 2 +-
.../testing/selftests/ublk/test_stripe_04.sh | 2 +-
.../testing/selftests/ublk/test_stripe_05.sh | 2 +-
.../testing/selftests/ublk/test_stripe_06.sh | 2 +-
52 files changed, 162 insertions(+), 57 deletions(-)
create mode 100755 tools/testing/selftests/ublk/test_integrity_03.sh
--
2.45.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] selftests: ublk: remove unused argument to _cleanup
2026-04-21 20:08 [PATCH 0/3] selftests: ublk: integrity test cleanups Caleb Sander Mateos
@ 2026-04-21 20:08 ` Caleb Sander Mateos
2026-04-23 3:56 ` Ming Lei
2026-04-21 20:09 ` [PATCH 2/3] selftests: ublk: enable test_integrity_02.sh on fio 3.42 Caleb Sander Mateos
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Caleb Sander Mateos @ 2026-04-21 20:08 UTC (permalink / raw)
To: Ming Lei, Shuah Khan
Cc: linux-kernel, linux-block, linux-kselftest, Caleb Sander Mateos
The _cleanup helper function doesn't take any arguments, so drop them
from its callers.
Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
---
tools/testing/selftests/ublk/test_batch_01.sh | 4 ++--
tools/testing/selftests/ublk/test_batch_02.sh | 2 +-
tools/testing/selftests/ublk/test_batch_03.sh | 2 +-
tools/testing/selftests/ublk/test_generic_02.sh | 4 ++--
tools/testing/selftests/ublk/test_generic_03.sh | 2 +-
tools/testing/selftests/ublk/test_generic_06.sh | 2 +-
tools/testing/selftests/ublk/test_generic_07.sh | 2 +-
tools/testing/selftests/ublk/test_generic_08.sh | 4 ++--
tools/testing/selftests/ublk/test_generic_09.sh | 2 +-
tools/testing/selftests/ublk/test_generic_10.sh | 2 +-
tools/testing/selftests/ublk/test_generic_12.sh | 4 ++--
tools/testing/selftests/ublk/test_generic_13.sh | 2 +-
tools/testing/selftests/ublk/test_generic_16.sh | 4 ++--
tools/testing/selftests/ublk/test_generic_17.sh | 2 +-
tools/testing/selftests/ublk/test_loop_01.sh | 2 +-
tools/testing/selftests/ublk/test_loop_02.sh | 2 +-
tools/testing/selftests/ublk/test_loop_03.sh | 2 +-
tools/testing/selftests/ublk/test_loop_04.sh | 2 +-
tools/testing/selftests/ublk/test_loop_05.sh | 2 +-
tools/testing/selftests/ublk/test_loop_06.sh | 2 +-
tools/testing/selftests/ublk/test_loop_07.sh | 2 +-
tools/testing/selftests/ublk/test_null_01.sh | 2 +-
tools/testing/selftests/ublk/test_null_02.sh | 2 +-
tools/testing/selftests/ublk/test_null_03.sh | 2 +-
tools/testing/selftests/ublk/test_part_01.sh | 4 ++--
tools/testing/selftests/ublk/test_part_02.sh | 2 +-
tools/testing/selftests/ublk/test_recover_01.sh | 2 +-
tools/testing/selftests/ublk/test_recover_02.sh | 2 +-
tools/testing/selftests/ublk/test_recover_03.sh | 2 +-
tools/testing/selftests/ublk/test_recover_04.sh | 2 +-
tools/testing/selftests/ublk/test_shmemzc_01.sh | 2 +-
tools/testing/selftests/ublk/test_shmemzc_02.sh | 2 +-
tools/testing/selftests/ublk/test_shmemzc_03.sh | 2 +-
tools/testing/selftests/ublk/test_shmemzc_04.sh | 2 +-
tools/testing/selftests/ublk/test_stress_01.sh | 2 +-
tools/testing/selftests/ublk/test_stress_02.sh | 2 +-
tools/testing/selftests/ublk/test_stress_03.sh | 2 +-
tools/testing/selftests/ublk/test_stress_04.sh | 2 +-
tools/testing/selftests/ublk/test_stress_05.sh | 2 +-
tools/testing/selftests/ublk/test_stress_06.sh | 2 +-
tools/testing/selftests/ublk/test_stress_07.sh | 2 +-
tools/testing/selftests/ublk/test_stress_08.sh | 2 +-
tools/testing/selftests/ublk/test_stress_09.sh | 2 +-
tools/testing/selftests/ublk/test_stripe_01.sh | 2 +-
tools/testing/selftests/ublk/test_stripe_02.sh | 2 +-
tools/testing/selftests/ublk/test_stripe_03.sh | 2 +-
tools/testing/selftests/ublk/test_stripe_04.sh | 2 +-
tools/testing/selftests/ublk/test_stripe_05.sh | 2 +-
tools/testing/selftests/ublk/test_stripe_06.sh | 2 +-
49 files changed, 55 insertions(+), 55 deletions(-)
diff --git a/tools/testing/selftests/ublk/test_batch_01.sh b/tools/testing/selftests/ublk/test_batch_01.sh
index a18fb39af8be..6e19303706a9 100755
--- a/tools/testing/selftests/ublk/test_batch_01.sh
+++ b/tools/testing/selftests/ublk/test_batch_01.sh
@@ -16,16 +16,16 @@ _create_backfile 1 256M
dev_id=$(_add_ublk_dev -t loop -q 2 -b "${UBLK_BACKFILES[0]}")
_check_add_dev $TID $?
if ! _mkfs_mount_test /dev/ublkb"${dev_id}"; then
- _cleanup_test "generic"
+ _cleanup_test
_show_result $TID 255
fi
dev_id=$(_add_ublk_dev -t stripe -b --auto_zc "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
_check_add_dev $TID $?
_mkfs_mount_test /dev/ublkb"${dev_id}"
ERR_CODE=$?
-_cleanup_test "generic"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_batch_02.sh b/tools/testing/selftests/ublk/test_batch_02.sh
index 7ca384d11987..7c683f755379 100755
--- a/tools/testing/selftests/ublk/test_batch_02.sh
+++ b/tools/testing/selftests/ublk/test_batch_02.sh
@@ -23,7 +23,7 @@ _check_add_dev $TID $?
# run fio over the ublk disk
fio --name=job1 --filename=/dev/ublkb"${dev_id}" --ioengine=libaio --rw=readwrite \
--iodepth=32 --size=100M --numjobs=4 > /dev/null 2>&1
ERR_CODE=$?
-_cleanup_test "generic"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_batch_03.sh b/tools/testing/selftests/ublk/test_batch_03.sh
index aca9cf144b55..914ccd6a335d 100755
--- a/tools/testing/selftests/ublk/test_batch_03.sh
+++ b/tools/testing/selftests/ublk/test_batch_03.sh
@@ -23,7 +23,7 @@ _check_add_dev $TID $?
# run fio over the ublk disk
fio --name=job1 --filename=/dev/ublkb"${dev_id}" --ioengine=libaio --rw=readwrite \
--iodepth=32 --size=100M --numjobs=4 > /dev/null 2>&1
ERR_CODE=$?
-_cleanup_test "generic"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_generic_02.sh b/tools/testing/selftests/ublk/test_generic_02.sh
index 46b657143fd6..2afc8cdbed8f 100755
--- a/tools/testing/selftests/ublk/test_generic_02.sh
+++ b/tools/testing/selftests/ublk/test_generic_02.sh
@@ -27,11 +27,11 @@ for _ in $(seq 100); do
grep -q "BPFTRACE_READY" "$UBLK_TMP" 2>/dev/null && break
sleep 0.1
done
if ! kill -0 "$btrace_pid" 2>/dev/null; then
- _cleanup_test "null"
+ _cleanup_test
exit "$UBLK_SKIP_CODE"
fi
# run fio over this ublk disk (pinned to CPU 0)
taskset -c 0 fio --name=write_seq \
@@ -49,7 +49,7 @@ wait
if grep -q "^out_of_order:" "$UBLK_TMP"; then
echo "I/O reordering detected:"
grep "^out_of_order:" "$UBLK_TMP"
ERR_CODE=255
fi
-_cleanup_test "null"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_generic_03.sh b/tools/testing/selftests/ublk/test_generic_03.sh
index 8934ea926762..8e78be860d34 100755
--- a/tools/testing/selftests/ublk/test_generic_03.sh
+++ b/tools/testing/selftests/ublk/test_generic_03.sh
@@ -21,7 +21,7 @@ if [ "$max_segments" != "32" ]; then
ERR_CODE=255
fi
if [ "$max_segment_size" != "32768" ]; then
ERR_CODE=255
fi
-_cleanup_test "null"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_generic_06.sh b/tools/testing/selftests/ublk/test_generic_06.sh
index 14a05054fcd8..a8b3634b6b4b 100755
--- a/tools/testing/selftests/ublk/test_generic_06.sh
+++ b/tools/testing/selftests/ublk/test_generic_06.sh
@@ -34,7 +34,7 @@ fi
if [ $ELAPSED -ge 5 ]; then
echo "dd took $ELAPSED seconds to exit (>= 5s tolerance)!"
ERR_CODE=255
fi
-_cleanup_test "fault_inject"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_generic_07.sh b/tools/testing/selftests/ublk/test_generic_07.sh
index 8dcfd8978f50..d2c5e65bd124 100755
--- a/tools/testing/selftests/ublk/test_generic_07.sh
+++ b/tools/testing/selftests/ublk/test_generic_07.sh
@@ -21,7 +21,7 @@ ERR_CODE=$?
if [ "$ERR_CODE" -eq 0 ]; then
_mkfs_mount_test /dev/ublkb"${dev_id}"
ERR_CODE=$?
fi
-_cleanup_test "generic"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_generic_08.sh b/tools/testing/selftests/ublk/test_generic_08.sh
index ce88c31d6b9c..77a18b313f3d 100755
--- a/tools/testing/selftests/ublk/test_generic_08.sh
+++ b/tools/testing/selftests/ublk/test_generic_08.sh
@@ -16,16 +16,16 @@ _create_backfile 1 256M
dev_id=$(_add_ublk_dev -t loop -q 2 --auto_zc "${UBLK_BACKFILES[0]}")
_check_add_dev $TID $?
if ! _mkfs_mount_test /dev/ublkb"${dev_id}"; then
- _cleanup_test "generic"
+ _cleanup_test
_show_result $TID 255
fi
dev_id=$(_add_ublk_dev -t stripe --auto_zc "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
_check_add_dev $TID $?
_mkfs_mount_test /dev/ublkb"${dev_id}"
ERR_CODE=$?
-_cleanup_test "generic"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_generic_09.sh b/tools/testing/selftests/ublk/test_generic_09.sh
index 744d0cdaa242..6c25242f245f 100755
--- a/tools/testing/selftests/ublk/test_generic_09.sh
+++ b/tools/testing/selftests/ublk/test_generic_09.sh
@@ -20,8 +20,8 @@ _check_add_dev $TID $?
# run fio over the two disks
fio --name=job1 --filename=/dev/ublkb"${dev_id}" --ioengine=libaio --rw=readwrite --iodepth=32 --size=256M > /dev/null 2>&1
ERR_CODE=$?
-_cleanup_test "null"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_generic_10.sh b/tools/testing/selftests/ublk/test_generic_10.sh
index 4b4293b9081f..fdabc9d9075e 100755
--- a/tools/testing/selftests/ublk/test_generic_10.sh
+++ b/tools/testing/selftests/ublk/test_generic_10.sh
@@ -23,7 +23,7 @@ fi
new_size=$(_get_disk_size /dev/ublkb"${dev_id}")
if [ "$new_size" != "$size" ]; then
ERR_CODE=255
fi
-_cleanup_test "null"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_generic_12.sh b/tools/testing/selftests/ublk/test_generic_12.sh
index 54b81ddfe9f9..435497f8da8d 100755
--- a/tools/testing/selftests/ublk/test_generic_12.sh
+++ b/tools/testing/selftests/ublk/test_generic_12.sh
@@ -23,11 +23,11 @@ dev_t=$(_get_disk_dev_t "$dev_id")
bpftrace trace/count_ios_per_tid.bt "$dev_t" > "$UBLK_TMP" 2>&1 &
btrace_pid=$!
sleep 2
if ! kill -0 "$btrace_pid" > /dev/null 2>&1; then
- _cleanup_test "null"
+ _cleanup_test
exit "$UBLK_SKIP_CODE"
fi
# do imbalanced I/O on the ublk device
# pin to cpu 0 to prevent migration/only target one queue
@@ -52,7 +52,7 @@ if [[ $NR_THREADS_THAT_HANDLED_IO -ne $NTHREADS ]]; then
echo "only $NR_THREADS_THAT_HANDLED_IO handled I/O! expected $NTHREADS"
cat "$UBLK_TMP"
ERR_CODE=255
fi
-_cleanup_test "null"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_generic_13.sh b/tools/testing/selftests/ublk/test_generic_13.sh
index 922115aa14f4..2c1be6286db8 100755
--- a/tools/testing/selftests/ublk/test_generic_13.sh
+++ b/tools/testing/selftests/ublk/test_generic_13.sh
@@ -13,7 +13,7 @@ if ${UBLK_PROG} features | grep -q unknown; then
echo "# this failure is expected if running an older test suite against"
echo "# a newer kernel with new features added"
ERR_CODE=255
fi
-_cleanup_test "null"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_generic_16.sh b/tools/testing/selftests/ublk/test_generic_16.sh
index 3ef367836ac5..6a4952146ea1 100755
--- a/tools/testing/selftests/ublk/test_generic_16.sh
+++ b/tools/testing/selftests/ublk/test_generic_16.sh
@@ -7,11 +7,11 @@ ERR_CODE=0
_prep_test "null" "stop --safe command"
# Check if SAFE_STOP_DEV feature is supported
if ! _have_feature "SAFE_STOP_DEV"; then
- _cleanup_test "null"
+ _cleanup_test
exit "$UBLK_SKIP_CODE"
fi
# Test 1: stop --safe on idle device should succeed
dev_id=$(_add_ublk_dev -t null -q 2 -d 32)
@@ -50,7 +50,7 @@ wait $dd_pid 2>/dev/null
# Now device should be idle, regular delete should work
_ublk_del_dev "${dev_id}"
udevadm settle
-_cleanup_test "null"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_generic_17.sh b/tools/testing/selftests/ublk/test_generic_17.sh
index 2278b5fc9dba..b483d53a897a 100755
--- a/tools/testing/selftests/ublk/test_generic_17.sh
+++ b/tools/testing/selftests/ublk/test_generic_17.sh
@@ -29,7 +29,7 @@ fi
# Clean up the device. This can only succeed once teardown of the above
# exited ublk server completes. So if teardown never completes, we will
# time out here
_ublk_del_dev "${dev_id}"
-_cleanup_test "fault_inject"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_loop_01.sh b/tools/testing/selftests/ublk/test_loop_01.sh
index 338a235fd82a..c0f5b619ad6e 100755
--- a/tools/testing/selftests/ublk/test_loop_01.sh
+++ b/tools/testing/selftests/ublk/test_loop_01.sh
@@ -18,8 +18,8 @@ _check_add_dev $TID $?
# run fio over the ublk disk
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=256M
ERR_CODE=$?
-_cleanup_test "loop"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_loop_02.sh b/tools/testing/selftests/ublk/test_loop_02.sh
index 04c52454e2ec..f4191ea71f50 100755
--- a/tools/testing/selftests/ublk/test_loop_02.sh
+++ b/tools/testing/selftests/ublk/test_loop_02.sh
@@ -12,8 +12,8 @@ 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"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_loop_03.sh b/tools/testing/selftests/ublk/test_loop_03.sh
index 6e8f649fe93d..aaac0c59a5ad 100755
--- a/tools/testing/selftests/ublk/test_loop_03.sh
+++ b/tools/testing/selftests/ublk/test_loop_03.sh
@@ -17,8 +17,8 @@ _check_add_dev $TID $?
# run fio over the ublk disk
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=256M
ERR_CODE=$?
-_cleanup_test "loop"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_loop_04.sh b/tools/testing/selftests/ublk/test_loop_04.sh
index 9f6774ec0de6..f584c119f1d2 100755
--- a/tools/testing/selftests/ublk/test_loop_04.sh
+++ b/tools/testing/selftests/ublk/test_loop_04.sh
@@ -13,8 +13,8 @@ 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"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_loop_05.sh b/tools/testing/selftests/ublk/test_loop_05.sh
index 2b8d99e007be..ca1a5df5f9de 100755
--- a/tools/testing/selftests/ublk/test_loop_05.sh
+++ b/tools/testing/selftests/ublk/test_loop_05.sh
@@ -18,8 +18,8 @@ _check_add_dev $TID $?
# run fio over the ublk disk
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=256M
ERR_CODE=$?
-_cleanup_test "loop"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_loop_06.sh b/tools/testing/selftests/ublk/test_loop_06.sh
index e73f6f4844db..26f710ba9db7 100755
--- a/tools/testing/selftests/ublk/test_loop_06.sh
+++ b/tools/testing/selftests/ublk/test_loop_06.sh
@@ -17,8 +17,8 @@ _check_add_dev $TID $?
# run fio over the ublk disk
_run_fio_verify_io --filename=/dev/ublkb"${dev_id}" --size=256M
ERR_CODE=$?
-_cleanup_test "loop"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_loop_07.sh b/tools/testing/selftests/ublk/test_loop_07.sh
index 264d20e7c530..a9ab0b671cb2 100755
--- a/tools/testing/selftests/ublk/test_loop_07.sh
+++ b/tools/testing/selftests/ublk/test_loop_07.sh
@@ -13,8 +13,8 @@ dev_id=$(_add_ublk_dev -t loop -u "${UBLK_BACKFILES[0]}")
_check_add_dev $TID $?
_mkfs_mount_test /dev/ublkb"${dev_id}"
ERR_CODE=$?
-_cleanup_test "loop"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_null_01.sh b/tools/testing/selftests/ublk/test_null_01.sh
index eebce8076530..d2c38cbb2dd5 100755
--- a/tools/testing/selftests/ublk/test_null_01.sh
+++ b/tools/testing/selftests/ublk/test_null_01.sh
@@ -16,8 +16,8 @@ _check_add_dev $TID $?
# run fio over the two disks
fio --name=job1 --filename=/dev/ublkb"${dev_id}" --ioengine=libaio --rw=readwrite --iodepth=32 --size=256M > /dev/null 2>&1
ERR_CODE=$?
-_cleanup_test "null"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_null_02.sh b/tools/testing/selftests/ublk/test_null_02.sh
index 654bdff39664..7b205ca56367 100755
--- a/tools/testing/selftests/ublk/test_null_02.sh
+++ b/tools/testing/selftests/ublk/test_null_02.sh
@@ -16,8 +16,8 @@ _check_add_dev $TID $?
# run fio over the two disks
fio --name=job1 --filename=/dev/ublkb"${dev_id}" --ioengine=libaio --rw=readwrite --iodepth=32 --size=256M > /dev/null 2>&1
ERR_CODE=$?
-_cleanup_test "null"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_null_03.sh b/tools/testing/selftests/ublk/test_null_03.sh
index 29cd09f06672..eee7a87a60da 100755
--- a/tools/testing/selftests/ublk/test_null_03.sh
+++ b/tools/testing/selftests/ublk/test_null_03.sh
@@ -16,8 +16,8 @@ _check_add_dev $TID $?
# run fio over the two disks
fio --name=job1 --filename=/dev/ublkb"${dev_id}" --ioengine=libaio --rw=readwrite --iodepth=32 --size=256M > /dev/null 2>&1
ERR_CODE=$?
-_cleanup_test "null"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_part_01.sh b/tools/testing/selftests/ublk/test_part_01.sh
index 8028f6e4b3a5..fa3b1a9af894 100755
--- a/tools/testing/selftests/ublk/test_part_01.sh
+++ b/tools/testing/selftests/ublk/test_part_01.sh
@@ -80,11 +80,11 @@ if ! _have_program sfdisk || ! _have_program blockdev; then
fi
_prep_test "generic" "test UBLK_F_NO_AUTO_PART_SCAN"
if ! _have_feature "UBLK_F_NO_AUTO_PART_SCAN"; then
- _cleanup_test "generic"
+ _cleanup_test
exit "$UBLK_SKIP_CODE"
fi
# Create and format backing file with partition table
@@ -98,7 +98,7 @@ format_backing_file "${UBLK_BACKFILES[0]}"
# Test no auto partition scan with manual scan
[ "$ERR_CODE" -eq 0 ] && test_no_auto_part_scan "${UBLK_BACKFILES[0]}"
[ $? -ne 0 ] && ERR_CODE=255
-_cleanup_test "generic"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_part_02.sh b/tools/testing/selftests/ublk/test_part_02.sh
index 7d42ab4d6e83..d9ec06f36aee 100755
--- a/tools/testing/selftests/ublk/test_part_02.sh
+++ b/tools/testing/selftests/ublk/test_part_02.sh
@@ -61,7 +61,7 @@ _prep_test "partition_scan" "verify async partition scan prevents IO hang"
_test_partition_scan_no_hang "no" "DEAD"
# Test 2: With recovery support - should transition to QUIESCED
_test_partition_scan_no_hang "yes" "QUIESCED"
-_cleanup_test "partition_scan"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_recover_01.sh b/tools/testing/selftests/ublk/test_recover_01.sh
index 2672f9c40fa8..1cddc2345dab 100755
--- a/tools/testing/selftests/ublk/test_recover_01.sh
+++ b/tools/testing/selftests/ublk/test_recover_01.sh
@@ -38,7 +38,7 @@ wait
ublk_run_recover_test -t null -q 2 -r 1 -i 1 &
ublk_run_recover_test -t loop -q 2 -r 1 -i 1 "${UBLK_BACKFILES[0]}" &
ublk_run_recover_test -t stripe -q 2 -r 1 -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
wait
-_cleanup_test "recover"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_recover_02.sh b/tools/testing/selftests/ublk/test_recover_02.sh
index bda5064bc31f..9c3f481880d3 100755
--- a/tools/testing/selftests/ublk/test_recover_02.sh
+++ b/tools/testing/selftests/ublk/test_recover_02.sh
@@ -42,7 +42,7 @@ wait
ublk_run_recover_test -t null -q 2 -r 1 -z -i 1 &
ublk_run_recover_test -t loop -q 2 -r 1 -z -i 1 "${UBLK_BACKFILES[0]}" &
ublk_run_recover_test -t stripe -q 2 -r 1 -z -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
wait
-_cleanup_test "recover"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_recover_03.sh b/tools/testing/selftests/ublk/test_recover_03.sh
index e0dc0b8fe5d6..2554805e5b02 100755
--- a/tools/testing/selftests/ublk/test_recover_03.sh
+++ b/tools/testing/selftests/ublk/test_recover_03.sh
@@ -37,7 +37,7 @@ wait
ublk_run_quiesce_recover -t null -q 2 -r 1 -i 1 &
ublk_run_quiesce_recover -t loop -q 2 -r 1 -i 1 "${UBLK_BACKFILES[0]}" &
ublk_run_quiesce_recover -t stripe -q 2 -r 1 -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
wait
-_cleanup_test "quiesce"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_recover_04.sh b/tools/testing/selftests/ublk/test_recover_04.sh
index 178443394ca5..4c83c1840c68 100755
--- a/tools/testing/selftests/ublk/test_recover_04.sh
+++ b/tools/testing/selftests/ublk/test_recover_04.sh
@@ -33,7 +33,7 @@ wait
ublk_run_recover_test -t null -q 2 -r 1 -u -i 1 &
ublk_run_recover_test -t loop -q 2 -r 1 -u -i 1 "${UBLK_BACKFILES[0]}" &
ublk_run_recover_test -t stripe -q 2 -r 1 -u -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
wait
-_cleanup_test "recover"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_shmemzc_01.sh b/tools/testing/selftests/ublk/test_shmemzc_01.sh
index 47210af2aa20..b244ab3479a2 100755
--- a/tools/testing/selftests/ublk/test_shmemzc_01.sh
+++ b/tools/testing/selftests/ublk/test_shmemzc_01.sh
@@ -65,8 +65,8 @@ _ublk_del_dev "${dev_id}"
rm -f "$HTLB_FILE"
umount "$HTLB_MNT"
rmdir "$HTLB_MNT"
echo "$OLD_NR_HP" > /proc/sys/vm/nr_hugepages
-_cleanup_test "shmem_zc"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_shmemzc_02.sh b/tools/testing/selftests/ublk/test_shmemzc_02.sh
index aed9262494e9..810dccba6d84 100755
--- a/tools/testing/selftests/ublk/test_shmemzc_02.sh
+++ b/tools/testing/selftests/ublk/test_shmemzc_02.sh
@@ -61,8 +61,8 @@ _ublk_del_dev "${dev_id}"
rm -f "$HTLB_FILE"
umount "$HTLB_MNT"
rmdir "$HTLB_MNT"
echo "$OLD_NR_HP" > /proc/sys/vm/nr_hugepages
-_cleanup_test "shmem_zc"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_shmemzc_03.sh b/tools/testing/selftests/ublk/test_shmemzc_03.sh
index db967a9ffe81..606362491a32 100755
--- a/tools/testing/selftests/ublk/test_shmemzc_03.sh
+++ b/tools/testing/selftests/ublk/test_shmemzc_03.sh
@@ -62,8 +62,8 @@ _ublk_del_dev "${dev_id}"
rm -f "$HTLB_FILE"
umount "$HTLB_MNT"
rmdir "$HTLB_MNT"
echo "$OLD_NR_HP" > /proc/sys/vm/nr_hugepages
-_cleanup_test "shmem_zc"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_shmemzc_04.sh b/tools/testing/selftests/ublk/test_shmemzc_04.sh
index 899de088ece4..9a2a6c2e8abe 100755
--- a/tools/testing/selftests/ublk/test_shmemzc_04.sh
+++ b/tools/testing/selftests/ublk/test_shmemzc_04.sh
@@ -65,8 +65,8 @@ _ublk_del_dev "${dev_id}"
rm -f "$HTLB_FILE"
umount "$HTLB_MNT"
rmdir "$HTLB_MNT"
echo "$OLD_NR_HP" > /proc/sys/vm/nr_hugepages
-_cleanup_test "shmem_zc"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stress_01.sh b/tools/testing/selftests/ublk/test_stress_01.sh
index a9322ce496e9..f91783f27649 100755
--- a/tools/testing/selftests/ublk/test_stress_01.sh
+++ b/tools/testing/selftests/ublk/test_stress_01.sh
@@ -27,7 +27,7 @@ _create_backfile 2 128M
ublk_io_and_remove 8G -t null -q 4 &
ublk_io_and_remove 256M -t loop -q 4 "${UBLK_BACKFILES[0]}" &
ublk_io_and_remove 256M -t stripe -q 4 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
wait
-_cleanup_test "stress"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stress_02.sh b/tools/testing/selftests/ublk/test_stress_02.sh
index 6c114194f9c9..b128d11658a8 100755
--- a/tools/testing/selftests/ublk/test_stress_02.sh
+++ b/tools/testing/selftests/ublk/test_stress_02.sh
@@ -29,7 +29,7 @@ for nr_queue in 1 4; do
ublk_io_and_kill_daemon 256M -t loop -q "$nr_queue" "${UBLK_BACKFILES[0]}" &
ublk_io_and_kill_daemon 256M -t stripe -q "$nr_queue" "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
wait
done
-_cleanup_test "stress"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stress_03.sh b/tools/testing/selftests/ublk/test_stress_03.sh
index 4e81ca0db758..a0f0aba8eebc 100755
--- a/tools/testing/selftests/ublk/test_stress_03.sh
+++ b/tools/testing/selftests/ublk/test_stress_03.sh
@@ -47,7 +47,7 @@ if _have_feature "PER_IO_DAEMON"; then
ublk_io_and_remove 256M -t stripe -q 4 --auto_zc --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
ublk_io_and_remove 8G -t null -q 4 -z --auto_zc --auto_zc_fallback --nthreads 8 --per_io_tasks &
wait
fi
-_cleanup_test "stress"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stress_04.sh b/tools/testing/selftests/ublk/test_stress_04.sh
index 6c6f44b172bc..896eae68d444 100755
--- a/tools/testing/selftests/ublk/test_stress_04.sh
+++ b/tools/testing/selftests/ublk/test_stress_04.sh
@@ -46,7 +46,7 @@ if _have_feature "PER_IO_DAEMON"; then
ublk_io_and_kill_daemon 256M -t stripe -q 4 --auto_zc --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
ublk_io_and_kill_daemon 8G -t null -q 4 -z --auto_zc --auto_zc_fallback --nthreads 8 --per_io_tasks &
wait
fi
-_cleanup_test "stress"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stress_05.sh b/tools/testing/selftests/ublk/test_stress_05.sh
index 7e9324de2030..d6c00c72080d 100755
--- a/tools/testing/selftests/ublk/test_stress_05.sh
+++ b/tools/testing/selftests/ublk/test_stress_05.sh
@@ -77,7 +77,7 @@ if _have_feature "PER_IO_DAEMON"; then
ublk_io_and_remove 256M -t loop -q 4 --nthreads 8 --per_io_tasks -r 1 -i "$reissue" "${UBLK_BACKFILES[0]}" &
ublk_io_and_remove 8G -t null -q 4 --nthreads 8 --per_io_tasks -r 1 -i "$reissue" &
fi
wait
-_cleanup_test "stress"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stress_06.sh b/tools/testing/selftests/ublk/test_stress_06.sh
index c72e5d0b14be..9481a273a4b4 100755
--- a/tools/testing/selftests/ublk/test_stress_06.sh
+++ b/tools/testing/selftests/ublk/test_stress_06.sh
@@ -32,7 +32,7 @@ wait
ublk_io_and_remove 8G -t null -q 4 -u --nthreads 8 --per_io_tasks &
ublk_io_and_remove 256M -t loop -q 4 -u --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[0]}" &
ublk_io_and_remove 256M -t stripe -q 4 -u --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
wait
-_cleanup_test "stress"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stress_07.sh b/tools/testing/selftests/ublk/test_stress_07.sh
index 04c2764d5238..3e01c037cffb 100755
--- a/tools/testing/selftests/ublk/test_stress_07.sh
+++ b/tools/testing/selftests/ublk/test_stress_07.sh
@@ -32,7 +32,7 @@ wait
ublk_io_and_kill_daemon 8G -t null -q 4 -u --nthreads 8 --per_io_tasks &
ublk_io_and_kill_daemon 256M -t loop -q 4 -u --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[0]}" &
ublk_io_and_kill_daemon 256M -t stripe -q 4 -u --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
wait
-_cleanup_test "stress"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stress_08.sh b/tools/testing/selftests/ublk/test_stress_08.sh
index 37f7d204879a..5f32424d2892 100755
--- a/tools/testing/selftests/ublk/test_stress_08.sh
+++ b/tools/testing/selftests/ublk/test_stress_08.sh
@@ -38,7 +38,7 @@ ublk_io_and_remove 8G -t null -q 4 -b &
ublk_io_and_remove 256M -t loop -q 4 --auto_zc -b "${UBLK_BACKFILES[0]}" &
ublk_io_and_remove 256M -t stripe -q 4 --auto_zc -b "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
ublk_io_and_remove 8G -t null -q 4 -z --auto_zc --auto_zc_fallback -b &
wait
-_cleanup_test "stress"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stress_09.sh b/tools/testing/selftests/ublk/test_stress_09.sh
index 53c1e3b2ab30..64cb8d9b0438 100755
--- a/tools/testing/selftests/ublk/test_stress_09.sh
+++ b/tools/testing/selftests/ublk/test_stress_09.sh
@@ -37,7 +37,7 @@ ublk_io_and_kill_daemon 8G -t null -q 4 -z -b &
ublk_io_and_kill_daemon 256M -t loop -q 4 --auto_zc -b "${UBLK_BACKFILES[0]}" &
ublk_io_and_kill_daemon 256M -t stripe -q 4 -b "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
ublk_io_and_kill_daemon 8G -t null -q 4 -z --auto_zc --auto_zc_fallback -b &
wait
-_cleanup_test "stress"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stripe_01.sh b/tools/testing/selftests/ublk/test_stripe_01.sh
index 3bc821aadad8..9ffce477b461 100755
--- a/tools/testing/selftests/ublk/test_stripe_01.sh
+++ b/tools/testing/selftests/ublk/test_stripe_01.sh
@@ -19,7 +19,7 @@ _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"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stripe_02.sh b/tools/testing/selftests/ublk/test_stripe_02.sh
index 4a7d2b21a6bf..4c172950a247 100755
--- a/tools/testing/selftests/ublk/test_stripe_02.sh
+++ b/tools/testing/selftests/ublk/test_stripe_02.sh
@@ -14,7 +14,7 @@ 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"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stripe_03.sh b/tools/testing/selftests/ublk/test_stripe_03.sh
index a1c159d54e53..2cdf9f958988 100755
--- a/tools/testing/selftests/ublk/test_stripe_03.sh
+++ b/tools/testing/selftests/ublk/test_stripe_03.sh
@@ -19,7 +19,7 @@ _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"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stripe_04.sh b/tools/testing/selftests/ublk/test_stripe_04.sh
index 0c30bd6c2b3b..e24120eaca0e 100755
--- a/tools/testing/selftests/ublk/test_stripe_04.sh
+++ b/tools/testing/selftests/ublk/test_stripe_04.sh
@@ -14,7 +14,7 @@ dev_id=$(_add_ublk_dev -t stripe -z -q 2 "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILE
_check_add_dev $TID $?
_mkfs_mount_test /dev/ublkb"${dev_id}"
ERR_CODE=$?
-_cleanup_test "stripe"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stripe_05.sh b/tools/testing/selftests/ublk/test_stripe_05.sh
index 6ddfa88ad226..f3de2d5cdfe4 100755
--- a/tools/testing/selftests/ublk/test_stripe_05.sh
+++ b/tools/testing/selftests/ublk/test_stripe_05.sh
@@ -19,7 +19,7 @@ _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"
+_cleanup_test
_show_result $TID $ERR_CODE
diff --git a/tools/testing/selftests/ublk/test_stripe_06.sh b/tools/testing/selftests/ublk/test_stripe_06.sh
index a2c7bf4cc613..3fd5cd902956 100755
--- a/tools/testing/selftests/ublk/test_stripe_06.sh
+++ b/tools/testing/selftests/ublk/test_stripe_06.sh
@@ -14,7 +14,7 @@ dev_id=$(_add_ublk_dev -t stripe -u -q 2 "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILE
_check_add_dev $TID $?
_mkfs_mount_test /dev/ublkb"${dev_id}"
ERR_CODE=$?
-_cleanup_test "stripe"
+_cleanup_test
_show_result $TID $ERR_CODE
--
2.45.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/3] selftests: ublk: enable test_integrity_02.sh on fio 3.42
2026-04-21 20:08 [PATCH 0/3] selftests: ublk: integrity test cleanups Caleb Sander Mateos
2026-04-21 20:08 ` [PATCH 1/3] selftests: ublk: remove unused argument to _cleanup Caleb Sander Mateos
@ 2026-04-21 20:09 ` Caleb Sander Mateos
2026-04-23 3:57 ` Ming Lei
2026-04-21 20:09 ` [PATCH 3/3] selftests: ublk: add ublk auto integrity test Caleb Sander Mateos
2026-04-23 10:55 ` [PATCH 0/3] selftests: ublk: integrity test cleanups Jens Axboe
3 siblings, 1 reply; 8+ messages in thread
From: Caleb Sander Mateos @ 2026-04-21 20:09 UTC (permalink / raw)
To: Ming Lei, Shuah Khan
Cc: linux-kernel, linux-block, linux-kselftest, Caleb Sander Mateos
fio 3.42 was released with the needed fix for test_integrity_02.sh.
Allow 3.42 and newer in the fio version check.
Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
---
tools/testing/selftests/ublk/test_integrity_02.sh | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/ublk/test_integrity_02.sh b/tools/testing/selftests/ublk/test_integrity_02.sh
index aaf1f52da559..2c35fbc8a7cc 100755
--- a/tools/testing/selftests/ublk/test_integrity_02.sh
+++ b/tools/testing/selftests/ublk/test_integrity_02.sh
@@ -5,13 +5,14 @@
if ! _have_program fio; then
exit $UBLK_SKIP_CODE
fi
+min_fio_version=fio-3.42
fio_version=$(fio --version)
-if [[ "$fio_version" =~ fio-[0-9]+\.[0-9]+$ ]]; then
- echo "Requires development fio version with https://github.com/axboe/fio/pull/1992"
+if ! sort --version-sort --check=quiet <(printf "%s\n%s\n" "$min_fio_version" "$fio_version"); then
+ echo "Requires fio version with https://github.com/axboe/fio/pull/1992"
exit $UBLK_SKIP_CODE
fi
ERR_CODE=0
--
2.45.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/3] selftests: ublk: add ublk auto integrity test
2026-04-21 20:08 [PATCH 0/3] selftests: ublk: integrity test cleanups Caleb Sander Mateos
2026-04-21 20:08 ` [PATCH 1/3] selftests: ublk: remove unused argument to _cleanup Caleb Sander Mateos
2026-04-21 20:09 ` [PATCH 2/3] selftests: ublk: enable test_integrity_02.sh on fio 3.42 Caleb Sander Mateos
@ 2026-04-21 20:09 ` Caleb Sander Mateos
2026-04-23 3:57 ` Ming Lei
2026-04-23 10:55 ` [PATCH 0/3] selftests: ublk: integrity test cleanups Jens Axboe
3 siblings, 1 reply; 8+ messages in thread
From: Caleb Sander Mateos @ 2026-04-21 20:09 UTC (permalink / raw)
To: Ming Lei, Shuah Khan
Cc: linux-kernel, linux-block, linux-kselftest, Caleb Sander Mateos
The end-to-end integrity ublk selftest test_integrity_02 requires a
relatively recent fio version to support I/O with integrity buffers. Add
a version test_integrity_03 that uses the block layer's auto integrity
path instead. The auto integrity code doesn't check the application tag,
and doesn't indicate the bad guard/ref tag (just returns EILSEQ). But
it's a good smoke-test of the ublk integrity code and provides coverage
of the auto integrity path as well.
Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
---
tools/testing/selftests/ublk/Makefile | 1 +
.../selftests/ublk/test_integrity_03.sh | 103 ++++++++++++++++++
2 files changed, 104 insertions(+)
create mode 100755 tools/testing/selftests/ublk/test_integrity_03.sh
diff --git a/tools/testing/selftests/ublk/Makefile b/tools/testing/selftests/ublk/Makefile
index ec6a8ce83d38..6e4fe8d1fed1 100644
--- a/tools/testing/selftests/ublk/Makefile
+++ b/tools/testing/selftests/ublk/Makefile
@@ -35,10 +35,11 @@ TEST_PROGS += test_loop_05.sh
TEST_PROGS += test_loop_06.sh
TEST_PROGS += test_loop_07.sh
TEST_PROGS += test_integrity_01.sh
TEST_PROGS += test_integrity_02.sh
+TEST_PROGS += test_integrity_03.sh
TEST_PROGS += test_recover_01.sh
TEST_PROGS += test_recover_02.sh
TEST_PROGS += test_recover_03.sh
TEST_PROGS += test_recover_04.sh
diff --git a/tools/testing/selftests/ublk/test_integrity_03.sh b/tools/testing/selftests/ublk/test_integrity_03.sh
new file mode 100755
index 000000000000..10f02339ea2d
--- /dev/null
+++ b/tools/testing/selftests/ublk/test_integrity_03.sh
@@ -0,0 +1,103 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+. "$(cd "$(dirname "$0")" && pwd)"/test_common.sh
+
+if ! _have_program fio; then
+ exit $UBLK_SKIP_CODE
+fi
+
+_test_fill_and_verify() {
+ fio --name fill --rw randwrite $fio_args > /dev/null
+ if [ $? != 0 ]; then
+ echo "fio fill failed"
+ ERR_CODE=255
+ return 1
+ fi
+
+ fio --name verify --rw randread $fio_args > /dev/null
+ if [ $? != 0 ]; then
+ echo "fio verify failed"
+ ERR_CODE=255
+ return 1
+ fi
+}
+
+_test_corrupted_reftag() {
+ local dd_reftag_args="bs=1 seek=58 count=6 oflag=dsync conv=notrunc status=none"
+
+ # Overwrite 6-byte reftag at offset 48 + 10 = 58
+ dd if=/dev/urandom "of=${UBLK_BACKFILES[1]}" $dd_reftag_args
+ if [ $? != 0 ]; then
+ echo "dd corrupted_reftag failed"
+ ERR_CODE=255
+ return 1
+ fi
+
+ if fio --name corrupted_reftag --rw randread $fio_args > /dev/null 2> "$fio_err"; then
+ echo "fio corrupted_reftag unexpectedly succeeded"
+ ERR_CODE=255
+ return 1
+ fi
+
+ if ! grep -q "$expected_err" "$fio_err"; then
+ echo "fio corrupted_reftag message not found: $expected_err"
+ ERR_CODE=255
+ return 1
+ fi
+
+ # Reset to 0
+ dd if=/dev/zero "of=${UBLK_BACKFILES[1]}" $dd_reftag_args
+ if [ $? != 0 ]; then
+ echo "dd restore corrupted_reftag failed"
+ ERR_CODE=255
+ return 1
+ fi
+}
+
+_test_corrupted_data() {
+ local dd_data_args="bs=512 count=1 oflag=direct,dsync conv=notrunc status=none"
+
+ dd if=/dev/zero "of=${UBLK_BACKFILES[0]}" $dd_data_args
+ if [ $? != 0 ]; then
+ echo "dd corrupted_data failed"
+ ERR_CODE=255
+ return 1
+ fi
+
+ if fio --name corrupted_data --rw randread $fio_args > /dev/null 2> "$fio_err"; then
+ echo "fio corrupted_data unexpectedly succeeded"
+ ERR_CODE=255
+ return 1
+ fi
+
+ if ! grep -q "$expected_err" "$fio_err"; then
+ echo "fio corrupted_data message not found: $expected_err"
+ ERR_CODE=255
+ return 1
+ fi
+}
+
+_prep_test "loop" "end-to-end auto integrity"
+
+_create_backfile 0 256M
+_create_backfile 1 32M # 256M * (64 integrity bytes / 512 data bytes)
+integrity_params="--integrity_capable --integrity_reftag
+ --metadata_size 64 --pi_offset 48 --csum_type nvme"
+dev_id=$(_add_ublk_dev -t loop -u $integrity_params "${UBLK_BACKFILES[@]}")
+_check_add_dev "$TID" $?
+
+fio_args="--ioengine libaio --direct 1 --bsrange 512-1M --iodepth 32
+ --filename /dev/ublkb$dev_id"
+fio_err=$(mktemp "${UBLK_TEST_DIR}"/fio_err_XXXXX)
+ERR_CODE=0
+
+expected_err="Invalid or incomplete multibyte or wide character: read offset=0"
+_test_fill_and_verify && \
+_test_corrupted_reftag && \
+_test_corrupted_data
+
+rm -f "$fio_err"
+
+_cleanup_test
+_show_result "$TID" $ERR_CODE
--
2.45.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] selftests: ublk: remove unused argument to _cleanup
2026-04-21 20:08 ` [PATCH 1/3] selftests: ublk: remove unused argument to _cleanup Caleb Sander Mateos
@ 2026-04-23 3:56 ` Ming Lei
0 siblings, 0 replies; 8+ messages in thread
From: Ming Lei @ 2026-04-23 3:56 UTC (permalink / raw)
To: Caleb Sander Mateos
Cc: Shuah Khan, linux-kernel, linux-block, linux-kselftest
On Tue, Apr 21, 2026 at 02:08:59PM -0600, Caleb Sander Mateos wrote:
> The _cleanup helper function doesn't take any arguments, so drop them
> from its callers.
>
> Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <tom.leiming@gmail.com>
Thanks,
Ming
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] selftests: ublk: enable test_integrity_02.sh on fio 3.42
2026-04-21 20:09 ` [PATCH 2/3] selftests: ublk: enable test_integrity_02.sh on fio 3.42 Caleb Sander Mateos
@ 2026-04-23 3:57 ` Ming Lei
0 siblings, 0 replies; 8+ messages in thread
From: Ming Lei @ 2026-04-23 3:57 UTC (permalink / raw)
To: Caleb Sander Mateos
Cc: Shuah Khan, linux-kernel, linux-block, linux-kselftest
On Tue, Apr 21, 2026 at 02:09:00PM -0600, Caleb Sander Mateos wrote:
> fio 3.42 was released with the needed fix for test_integrity_02.sh.
> Allow 3.42 and newer in the fio version check.
>
> Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <tom.leiming@gmail.com>
Thanks,
Ming
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] selftests: ublk: add ublk auto integrity test
2026-04-21 20:09 ` [PATCH 3/3] selftests: ublk: add ublk auto integrity test Caleb Sander Mateos
@ 2026-04-23 3:57 ` Ming Lei
0 siblings, 0 replies; 8+ messages in thread
From: Ming Lei @ 2026-04-23 3:57 UTC (permalink / raw)
To: Caleb Sander Mateos
Cc: Shuah Khan, linux-kernel, linux-block, linux-kselftest
On Tue, Apr 21, 2026 at 02:09:01PM -0600, Caleb Sander Mateos wrote:
> The end-to-end integrity ublk selftest test_integrity_02 requires a
> relatively recent fio version to support I/O with integrity buffers. Add
> a version test_integrity_03 that uses the block layer's auto integrity
> path instead. The auto integrity code doesn't check the application tag,
> and doesn't indicate the bad guard/ref tag (just returns EILSEQ). But
> it's a good smoke-test of the ublk integrity code and provides coverage
> of the auto integrity path as well.
>
> Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <tom.leiming@gmail.com>
Thanks,
Ming
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/3] selftests: ublk: integrity test cleanups
2026-04-21 20:08 [PATCH 0/3] selftests: ublk: integrity test cleanups Caleb Sander Mateos
` (2 preceding siblings ...)
2026-04-21 20:09 ` [PATCH 3/3] selftests: ublk: add ublk auto integrity test Caleb Sander Mateos
@ 2026-04-23 10:55 ` Jens Axboe
3 siblings, 0 replies; 8+ messages in thread
From: Jens Axboe @ 2026-04-23 10:55 UTC (permalink / raw)
To: Ming Lei, Shuah Khan, Caleb Sander Mateos
Cc: linux-kernel, linux-block, linux-kselftest
On Tue, 21 Apr 2026 14:08:58 -0600, Caleb Sander Mateos wrote:
> Update test_integrity_02 to allow fio-3.42 now that it's been released.
> Add a modified version test_integrity_03 that uses auto integrity and
> avoids the newer fio requirement.
>
> Also clean up the callers of _cleanup passing an unnecessary argument.
>
> Caleb Sander Mateos (3):
> selftests: ublk: remove unused argument to _cleanup
> selftests: ublk: enable test_integrity_02.sh on fio 3.42
> selftests: ublk: add ublk auto integrity test
>
> [...]
Applied, thanks!
[1/3] selftests: ublk: remove unused argument to _cleanup
(no commit info)
[2/3] selftests: ublk: enable test_integrity_02.sh on fio 3.42
(no commit info)
[3/3] selftests: ublk: add ublk auto integrity test
(no commit info)
Best regards,
--
Jens Axboe
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-04-23 10:55 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-21 20:08 [PATCH 0/3] selftests: ublk: integrity test cleanups Caleb Sander Mateos
2026-04-21 20:08 ` [PATCH 1/3] selftests: ublk: remove unused argument to _cleanup Caleb Sander Mateos
2026-04-23 3:56 ` Ming Lei
2026-04-21 20:09 ` [PATCH 2/3] selftests: ublk: enable test_integrity_02.sh on fio 3.42 Caleb Sander Mateos
2026-04-23 3:57 ` Ming Lei
2026-04-21 20:09 ` [PATCH 3/3] selftests: ublk: add ublk auto integrity test Caleb Sander Mateos
2026-04-23 3:57 ` Ming Lei
2026-04-23 10:55 ` [PATCH 0/3] selftests: ublk: integrity test cleanups Jens Axboe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox