Re: [PATCH] block/001: wait until device is added

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux