mbox series

[00/13] ublk: one driver bug fix and selftest change

Message ID 20250407131526.1927073-1-ming.lei@redhat.com (mailing list archive)
Headers show
Series ublk: one driver bug fix and selftest change | expand

Message

Ming Lei April 7, 2025, 1:15 p.m. UTC
The 1st patch fixes kernel panic caused by aborting zc request, which
can be observed by the added stress_03/stress_04 tests.

The other patches are ublk selftest change:

- two bug fixes(2, 3)

- cleanup (4, 5)

- allow to run tests in parallel(6), also big simplification on
test script

- add two stress tests for zero copy(7)

- kublk misc change(8, 9, 10), helps for evaluating performance

- support target specific command line, so help to add new
target(Uday is working on fault-inject target) (11)

- add two tests for covering recovery features(12)

- add one heavy io & remove test over recovery enabled device(13),
which can catch io hang triggered by several recent patches.

Thanks,

Ming Lei (13):
  ublk: delay aborting zc request until io_uring returns the buffer
  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

 drivers/block/ublk_drv.c                      |  31 +-
 tools/testing/selftests/ublk/Makefile         |   5 +
 tools/testing/selftests/ublk/kublk.c          | 341 ++++++++++++++++--
 tools/testing/selftests/ublk/kublk.h          |  37 +-
 tools/testing/selftests/ublk/stripe.c         |  28 +-
 tools/testing/selftests/ublk/test_common.sh   | 140 +++++--
 .../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 +-
 22 files changed, 811 insertions(+), 175 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