On Tue, Aug 24, 2021 at 11:17:53AM +0800, Ming Lei wrote: > 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" <martin.petersen@xxxxxxxxxx> > Cc: linux-scsi@xxxxxxxxxxxxxxx > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> > --- > 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 Applied, with the shellcheck errors fixed and simplified logic. Thanks.