linux/tools/testing/selftests/ublk
Uday Shankar a2f4c1ae16 selftests: ublk: kublk: improve behavior on init failure
Some failure modes are handled poorly by kublk. For example, if ublk_drv
is built as a module but not currently loaded into the kernel, ./kublk
add ... just hangs forever. This happens because in this case (and a few
others), the worker process does not notify its parent (via a write to
the shared eventfd) that it has tried and failed to initialize, so the
parent hangs forever. Fix this by ensuring that we always notify the
parent process of any initialization failure, and have the parent print
a (not very descriptive) log line when this happens.

Signed-off-by: Uday Shankar <ushankar@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250603-ublk_init_fail-v1-1-87c91486230e@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
History 2025-06-03 20:19:44 -06:00
..
trace selftests: ublk: add functional test for per io daemons 2025-05-31 14:38:48 -06:00
.gitignore selftests: ublk: add kernel selftests for ublk 2025-02-28 09:28:08 -07:00
common.c selftests: ublk: move common code into common.c 2025-03-22 08:35:08 -06:00
config selftests: ublk: add kernel selftests for ublk 2025-02-28 09:28:08 -07:00
fault_inject.c selftests: ublk: kublk: tie sqe allocation to io instead of queue 2025-05-31 14:38:30 -06:00
file_backed.c selftests: ublk: kublk: decouple ublk_queues from ublk server threads 2025-05-31 14:38:43 -06:00
kublk.c selftests: ublk: kublk: improve behavior on init failure 2025-06-03 20:19:44 -06:00
kublk.h selftests: ublk: kublk: decouple ublk_queues from ublk server threads 2025-05-31 14:38:43 -06:00
Makefile selftests: ublk: cover PER_IO_DAEMON in more stress tests 2025-06-02 12:00:31 -06:00
null.c selftests: ublk: kublk: decouple ublk_queues from ublk server threads 2025-05-31 14:38:43 -06:00
stripe.c selftests: ublk: kublk: decouple ublk_queues from ublk server threads 2025-05-31 14:38:43 -06:00
test_common.sh selftests: ublk: add stress test for per io daemons 2025-05-31 14:38:53 -06:00
test_generic_01.sh selftests: ublk: add generic_01 for verifying sequential IO order 2025-03-22 08:35:08 -06:00
test_generic_02.sh selftests: ublk: add more tests for covering MQ 2025-03-28 16:15:43 -06:00
test_generic_03.sh selftests: ublk: add test for checking zero copy related parameter 2025-03-28 16:15:43 -06:00
test_generic_04.sh selftests: ublk: add test for UBLK_F_QUIESCE 2025-05-23 09:42:12 -06:00
test_generic_05.sh selftests: ublk: add test for UBLK_F_QUIESCE 2025-05-23 09:42:12 -06:00
test_generic_06.sh selftests: ublk: make test_generic_06 silent on success 2025-05-05 16:54:52 -06:00
test_generic_07.sh selftests: ublk: fix UBLK_F_NEED_GET_DATA 2025-04-29 06:01:36 -06:00
test_generic_08.sh selftests: ublk: support UBLK_F_AUTO_BUF_REG 2025-05-20 10:24:45 -06:00
test_generic_09.sh selftests: ublk: add test for covering UBLK_AUTO_BUF_REG_FALLBACK 2025-05-20 10:24:45 -06:00
test_generic_10.sh selftests: ublk: add test case for UBLK_U_CMD_UPDATE_SIZE 2025-05-23 09:42:12 -06:00
test_generic_11.sh selftests: ublk: add test for UBLK_F_QUIESCE 2025-05-23 09:42:12 -06:00
test_generic_12.sh selftests: ublk: add functional test for per io daemons 2025-05-31 14:38:48 -06:00
test_loop_01.sh selftests: ublk: cleanup backfile automatically 2025-04-16 19:32:18 -06:00
test_loop_02.sh selftests: ublk: cleanup backfile automatically 2025-04-16 19:32:18 -06:00
test_loop_03.sh selftests: ublk: cleanup backfile automatically 2025-04-16 19:32:18 -06:00
test_loop_04.sh selftests: ublk: cleanup backfile automatically 2025-04-16 19:32:18 -06:00
test_loop_05.sh selftests: ublk: cleanup backfile automatically 2025-04-16 19:32:18 -06:00
test_null_01.sh selftests: ublk: improve test usability 2025-03-10 16:24:42 -06:00
test_null_02.sh selftests: ublk: enable zero copy for null target 2025-03-22 08:35:08 -06:00
test_stress_01.sh selftests: ublk: run stress tests in parallel 2025-04-16 19:32:18 -06:00
test_stress_02.sh selftests: ublk: make IO & device removal test more stressful 2025-05-20 10:24:13 -06:00
test_stress_03.sh selftests: ublk: cover PER_IO_DAEMON in more stress tests 2025-06-02 12:00:31 -06:00
test_stress_04.sh selftests: ublk: cover PER_IO_DAEMON in more stress tests 2025-06-02 12:00:31 -06:00
test_stress_05.sh selftests: ublk: cover PER_IO_DAEMON in more stress tests 2025-06-02 12:00:31 -06:00
test_stripe_01.sh selftests: ublk: cleanup backfile automatically 2025-04-16 19:32:18 -06:00
test_stripe_02.sh selftests: ublk: cleanup backfile automatically 2025-04-16 19:32:18 -06:00
test_stripe_03.sh selftests: ublk: cleanup backfile automatically 2025-04-16 19:32:18 -06:00
test_stripe_04.sh selftests: ublk: cleanup backfile automatically 2025-04-16 19:32:18 -06:00
ublk_dep.h selftests: ublk: add one dependency header 2025-03-20 17:18:55 -06:00