We have to run scan and delete together, otherwise pending async may prevent scsi_debug from being unloaded, and cause failure of 'modprobe: FATAL: Module scsi_debug is in use.' Fix the issue by always running both scan and delete together. Fixes: f3bcd8c ("block/001: wait until device is added") Reported-by: Yi Zhang <yi.zhang@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> --- tests/block/001 | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/tests/block/001 b/tests/block/001 index c26792b..be33962 100755 --- a/tests/block/001 +++ b/tests/block/001 @@ -29,13 +29,8 @@ stress_scsi_debug() { scan="${scan//:/ }" while [[ ! -e "$TMPDIR/stop" ]]; do echo "${scan}" > "/sys/class/scsi_host/host${host}/scan" - while [[ ! -e "$TMPDIR/stop" ]]; do - if [[ -d "/sys/class/scsi_device/${target}" ]]; then - echo 1 > "/sys/class/scsi_device/${target}/device/delete" - break - fi - sleep 0.01 - done + while [[ ! -d "/sys/class/scsi_device/${target}" ]]; do sleep 0.01; done + echo 1 > "/sys/class/scsi_device/${target}/device/delete" done ) & done -- 2.31.1