Writing to the scan attribute of scsi host is usually one sync scan, but
devices in this sync scan may be delay added if there is concurrent
asnyc scan.
So wait until the device is added in block/001 for avoiding to fail
the test.
Cc: "Martin K. Petersen" <redacted>
Cc: linux-scsi@vger.kernel.org
Signed-off-by: Ming Lei <redacted>
---
tests/block/001 | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/tests/block/001 b/tests/block/001
index 51ec9d8..01356d0 100755
--- a/tests/block/001
+++ b/tests/block/001
@@ -21,15 +21,20 @@ stress_scsi_debug() {
return
fi
- local host target
+ local host target target_path
for target in "${SCSI_DEBUG_TARGETS[@]}"; do
(
host="${target%%:*}"
scan="${target#*:}"
scan="${scan//:/ }"
+ target_path="/sys/class/scsi_device/${target}"
while [[ ! -e "$TMPDIR/stop" ]]; do
echo "${scan}" > "/sys/class/scsi_host/host${host}/scan"
- echo 1 > "/sys/class/scsi_device/${target}/device/delete"
+ while [ ! -d ${target_path} ]; do
+ sleep 0.01;
+ [[ -e "$TMPDIR/stop" ]] && break
+ done
+ [ -d ${target_path} ] && echo 1 > ${target_path}/device/delete
done
) &
done--
2.31.1