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@redhat.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
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
+ while [[ ! -d "/sys/class/scsi_device/${target}" ]]; do
sleep 0.01
done
+ echo 1 > "/sys/class/scsi_device/${target}/device/delete"
done
) &
done