linux/tools
Ming Lei 60cf863720 selftests/ublk: add test for async partition scan
Add test_generic_15.sh to verify that async partition scan prevents
IO hang when reading partition tables.

The test creates ublk devices with fault_inject target and very large
delay (60s) to simulate blocked partition table reads, then kills the
daemon to verify proper state transitions without hanging:

1. Without recovery support:
   - Create device with fault_inject and 60s delay
   - Kill daemon while partition scan may be blocked
   - Verify device transitions to DEAD state

2. With recovery support (-r 1):
   - Create device with fault_inject, 60s delay, and recovery
   - Kill daemon while partition scan may be blocked
   - Verify device transitions to QUIESCED state

Before the async partition scan fix, killing the daemon during
partition scan would cause deadlock as partition scan held ub->mutex
while waiting for IO. With the async fix, partition scan happens in
a work function and flush_work() ensures proper synchronization.

Add _add_ublk_dev_no_settle() helper function to skip udevadm settle,
which would otherwise hang waiting for partition scan events to
complete when partition table read is delayed.

Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-12-28 09:25:26 -07:00
..
accounting
arch arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
bootconfig
bpf bpf: Remove runqslower tool 2025-11-28 15:20:16 -08:00
build objtool updates for v6.19: 2025-12-01 20:18:59 -08:00
certs
cgroup
counter
crypto
debugging
docs docs: makefile: move rustdoc check to the build wrapper 2025-11-29 08:42:53 -07:00
firewire
firmware
gpio
hv
iio
include Networking changes for 6.19. 2025-12-03 17:24:33 -08:00
kvm/kvm_stat
laptop
leds
lib bpf-next-6.19 2025-12-03 16:54:54 -08:00
memory-model
mm
net ynl: samples: Fix spelling mistake "failedq" -> "failed" 2025-12-01 11:54:09 -08:00
objtool objtool: Fix segfault on unknown alternatives 2025-12-01 10:42:27 +01:00
pcmcia
perf Networking changes for 6.19. 2025-12-03 17:24:33 -08:00
power Power management updates for 6.19-rc1 2025-12-02 17:31:22 -08:00
rcu
sched
sched_ext sched_ext: tools: Removing duplicate targets during non-cross compilation 2025-11-20 07:00:27 -10:00
scripts
sound
spi
testing selftests/ublk: add test for async partition scan 2025-12-28 09:25:26 -07:00
thermal tools/thermal/thermal-engine: Fix format string bug in thermal-engine 2025-11-25 11:00:28 +01:00
time
tracing tracing/tools: Fix incorrcet short option in usage text for --threads 2025-11-07 07:59:37 -05:00
usb
verification
virtio
wmi
workqueue
writeback
Makefile