Re: [PATCH] block/001: wait until device is added
flat view
From: Omar Sandoval <osandov@osandov.com>
Date: 2021-08-25 00:56:50
Also in:
linux-scsi
On Tue, Aug 24, 2021 at 11:17:53AM +0800, Ming Lei wrote:
quoted hunk ↗ jump to hunk
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
Applied, with the shellcheck errors fixed and simplified logic. Thanks.