Hello Jens, This patchset cleans up ublk selftests and add more tests: - two bug fixes(1, 2) - cleanup (3, 4) - allow to run tests in parallel(5), also big simplification on test script - add two stress tests for zero copy(6) - kublk misc change(7, 8, 9), helps for evaluating performance - support target specific command line, so help to add new target(Uday is working on fault-inject target) (10) - add two tests for covering recovery features(11) - add one heavy io & remove test over recovery enabled device(12), which can catch io hang triggered by several recent patches. - the last patch is for making sure ublk temp file is cleaned up if test is skipped With this change, kernel built-in ublk selftests can : - cover almost all tests done by ublksrv 'make test T=generic', which has been effective to capture driver issue early, so it will make ublk driver development more efficiently - add more stress tests for covering ublk zc feature, which has found one kernel panic issue introduced recently, fix merged already - help to add new tests, such as per-target command line, which will help to write fault-inject target Thanks, V2: - use ARRAY_SIZE() (Johannes Thumshirn) - drop one driver bug fix - fix ublk temp file cleanup - improve document Ming Lei (13): selftests: ublk: fix ublk_find_tgt() selftests: ublk: add io_uring uapi header selftests: ublk: cleanup backfile automatically selftests: ublk: make sure _add_ublk_dev can return in sub-shell selftests: ublk: run stress tests in parallel selftests: ublk: add two stress tests for zero copy feature selftests: ublk: setup ring with IORING_SETUP_SINGLE_ISSUER/IORING_SETUP_DEFER_TASKRUN selftests: ublk: set queue pthread's cpu affinity selftests: ublk: increase max nr_queues and queue depth selftests: ublk: support target specific command line selftests: ublk: support user recovery selftests: ublk: add test_stress_05.sh selftests: ublk: move creating UBLK_TMP into _prep_test() tools/testing/selftests/ublk/Makefile | 5 + tools/testing/selftests/ublk/kublk.c | 342 ++++++++++++++++-- tools/testing/selftests/ublk/kublk.h | 39 +- tools/testing/selftests/ublk/stripe.c | 28 +- tools/testing/selftests/ublk/test_common.sh | 142 ++++++-- .../testing/selftests/ublk/test_generic_04.sh | 40 ++ .../testing/selftests/ublk/test_generic_05.sh | 44 +++ tools/testing/selftests/ublk/test_loop_01.sh | 8 +- tools/testing/selftests/ublk/test_loop_02.sh | 8 +- tools/testing/selftests/ublk/test_loop_03.sh | 8 +- tools/testing/selftests/ublk/test_loop_04.sh | 9 +- tools/testing/selftests/ublk/test_loop_05.sh | 8 +- .../testing/selftests/ublk/test_stress_01.sh | 45 +-- .../testing/selftests/ublk/test_stress_02.sh | 45 +-- .../testing/selftests/ublk/test_stress_03.sh | 38 ++ .../testing/selftests/ublk/test_stress_04.sh | 37 ++ .../testing/selftests/ublk/test_stress_05.sh | 64 ++++ .../testing/selftests/ublk/test_stripe_01.sh | 12 +- .../testing/selftests/ublk/test_stripe_02.sh | 13 +- .../testing/selftests/ublk/test_stripe_03.sh | 12 +- .../testing/selftests/ublk/test_stripe_04.sh | 13 +- 21 files changed, 786 insertions(+), 174 deletions(-) create mode 100755 tools/testing/selftests/ublk/test_generic_04.sh create mode 100755 tools/testing/selftests/ublk/test_generic_05.sh create mode 100755 tools/testing/selftests/ublk/test_stress_03.sh create mode 100755 tools/testing/selftests/ublk/test_stress_04.sh create mode 100755 tools/testing/selftests/ublk/test_stress_05.sh -- 2.47.0