* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.