]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests: ublk: add _ublk_del_dev helper function
authorMing Lei <ming.lei@redhat.com>
Sat, 31 Jan 2026 16:23:34 +0000 (00:23 +0800)
committerJens Axboe <axboe@kernel.dk>
Sat, 31 Jan 2026 21:56:28 +0000 (14:56 -0700)
Add _ublk_del_dev() to delete a specific ublk device by ID and
use it in all test scripts instead of calling UBLK_PROG directly.

Also remove unused _remove_ublk_devices() function.

Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
tools/testing/selftests/ublk/test_common.sh
tools/testing/selftests/ublk/test_generic_16.sh
tools/testing/selftests/ublk/test_null_04.sh
tools/testing/selftests/ublk/test_part_02.sh

index 8d298a7ee7b163ecea399990194ce3f30c27ec10..0f1fdb0892b459b434736cd040afb4f9f236eea9 100755 (executable)
@@ -106,11 +106,6 @@ _check_root() {
        fi
 }
 
-_remove_ublk_devices() {
-       ${UBLK_PROG} del -a
-       modprobe -r ublk_drv > /dev/null 2>&1
-}
-
 _get_ublk_dev_state() {
        ${UBLK_PROG} list -n "$1" | grep "state" | awk '{print $11}'
 }
@@ -277,10 +272,16 @@ __ublk_kill_daemon()
        echo "$state"
 }
 
-__remove_ublk_dev_return() {
+_ublk_del_dev() {
        local dev_id=$1
 
        ${UBLK_PROG} del -n "${dev_id}"
+}
+
+__remove_ublk_dev_return() {
+       local dev_id=$1
+
+       _ublk_del_dev "${dev_id}"
        local res=$?
        udevadm settle
        return ${res}
index 42e8d2e16ec9f13017cfab39a44efe9cfdddc00e..3ef367836ac5a73c5ea8d71757f14336f720e56c 100755 (executable)
@@ -24,7 +24,7 @@ if ! ${UBLK_PROG} stop -n "${dev_id}" --safe; then
 fi
 
 # Clean up device
-${UBLK_PROG} del -n "${dev_id}" > /dev/null 2>&1
+_ublk_del_dev "${dev_id}" > /dev/null 2>&1
 udevadm settle
 
 # Test 2: stop --safe on device with active opener should fail
@@ -49,7 +49,7 @@ kill $dd_pid 2>/dev/null
 wait $dd_pid 2>/dev/null
 
 # Now device should be idle, regular delete should work
-${UBLK_PROG} del -n "${dev_id}"
+_ublk_del_dev "${dev_id}"
 udevadm settle
 
 _cleanup_test "null"
index a5599d38583a347cad136625408751b7a220c44c..6713b280a6ffae4fe47095fa9c6f9f6e251b6e43 100755 (executable)
@@ -34,7 +34,7 @@ _test_metadata_only() {
                "$(cat "/sys/block/ublkb$dev_id/integrity/protection_interval_bytes")" 512 &&
        _check_value "tag_size" "$(cat "/sys/block/ublkb$dev_id/integrity/tag_size")" 0
 
-       ${UBLK_PROG} del -n "${dev_id}"
+       _ublk_del_dev "${dev_id}"
 }
 
 _test_integrity_capable_ip() {
@@ -53,7 +53,7 @@ _test_integrity_capable_ip() {
                "$(cat "/sys/block/ublkb$dev_id/integrity/protection_interval_bytes")" 512 &&
        _check_value "tag_size" "$(cat "/sys/block/ublkb$dev_id/integrity/tag_size")" 0
 
-       ${UBLK_PROG} del -n "${dev_id}"
+       _ublk_del_dev "${dev_id}"
 }
 
 _test_integrity_reftag_t10dif() {
@@ -72,7 +72,7 @@ _test_integrity_reftag_t10dif() {
                "$(cat "/sys/block/ublkb$dev_id/integrity/protection_interval_bytes")" 512 &&
        _check_value "tag_size" "$(cat "/sys/block/ublkb$dev_id/integrity/tag_size")" 0
 
-       ${UBLK_PROG} del -n "${dev_id}"
+       _ublk_del_dev "${dev_id}"
 }
 
 _test_nvme_csum() {
@@ -91,7 +91,7 @@ _test_nvme_csum() {
                "$(cat "/sys/block/ublkb$dev_id/integrity/protection_interval_bytes")" 512 &&
        _check_value "tag_size" "$(cat "/sys/block/ublkb$dev_id/integrity/tag_size")" 8
 
-       ${UBLK_PROG} del -n "${dev_id}"
+       _ublk_del_dev "${dev_id}"
 }
 
 _prep_test "null" "integrity params"
index 727d0f4610d6b88d1c6a370ad03c1e8f3cc6bd6e..acd098deda3a9d6ff77ecb684b00ed9e60652d39 100755 (executable)
@@ -46,13 +46,13 @@ _test_partition_scan_no_hang()
        if [ "$state" != "${expected_state}" ]; then
                echo "FAIL: Device state is $state, expected ${expected_state}"
                ERR_CODE=255
-               ${UBLK_PROG} del -n "${dev_id}" > /dev/null 2>&1
+               _ublk_del_dev "${dev_id}" > /dev/null 2>&1
                return
        fi
        echo "PASS: Device transitioned to ${expected_state} in ${elapsed}s without hanging"
 
        # Clean up the device
-       ${UBLK_PROG} del -n "${dev_id}" > /dev/null 2>&1
+       _ublk_del_dev "${dev_id}" > /dev/null 2>&1
 }
 
 _prep_test "partition_scan" "verify async partition scan prevents IO hang"