On Thu, 2016-01-21 at 15:33 +0530, Ritesh Raj Sarraf wrote: > > I think the best would be that we patch sg3-utils to use sleep > instead. > > sleep is part of coreutils which is very standardized on Linux. I'll > also check on my BSD VMs. > > sleep also supports arguments in decimal format. So a 20000 microsecs > equals to 0.02 secs, which sleep takes happily on Linux.
So I verified it on Debian GNU/Linux and GNU/kFreeBSD. On both platforms, sleep is provided by coreutils. I think the attached patch is simple enough and shouldn't break anywhere. Doug, Does this change look okay to you? Will you apply it on your tree ? You can access the full bug report here: http://bugs.debian.org/812184 -- Ritesh Raj Sarraf RESEARCHUT - http://www.researchut.com "Necessity is the mother of invention."
Debian Bug: 812184
usleep is not part of any standard tool.
sleep, which can do the same functions, is part of coreutils on Linux. Something which every distribution will have.
I also verified it on Debian kFreeBSD. And coreutils was available.
--- a/scripts/rescan-scsi-bus.sh
+++ b/scripts/rescan-scsi-bus.sh
@@ -247,7 +247,7 @@
fi
while test $RC = 2 -o $RC = 6 && test $ctr -le 8; do
if test $RC = 2 -a "$RMB" != "1"; then echo -n "."; let LN+=1; sleep 1
- else usleep 20000; fi
+ else sleep 0.02; fi
let ctr+=1
sg_turs /dev/$SGDEV >/dev/null 2>&1
RC=$?
@@ -411,7 +411,7 @@
/sbin/udevsettle
white_out
else
- usleep 20000
+ sleep 0.02
fi
}
@@ -473,7 +473,7 @@
incrrmvd "$host:$channel:$id:$lun"
fi
echo 1 > /sys/class/scsi_device/${host}:${channel}:${id}:${lun}/device/delete
- usleep 20000
+ sleep 0.02
else
echo "scsi remove-single-device $devnr" > /proc/scsi/scsi
if test $RC -eq 1 -o $lun -eq 0 ; then
@@ -941,7 +941,7 @@
elif test $i -eq $flush_retries ; then
echo "Fail"
fi
- usleep 20000
+ sleep 0.02
let i=$i+1
done
done
signature.asc
Description: This is a digitally signed message part

