[U-Boot] [PATCH] test: ums: Add sleep before unmount directory

Stephen Warren
2014-11-06T17:00:12Z

On 11/06/2014 03:23 AM, Lukasz Majewski wrote:
> This change helps to run script on machines with quite long uptime.
> Without this the following error emerges:
>
> File: ./dat_14M.img
> umount: /mnt/tmp-ums-test: device is busy.
> (In some cases useful info about processes that use
> the device is found by lsof(8) or fuser(1))
> TX: md5sum:083d3d22b542d3ecba61b12d17e03f9f
> mount: /dev/sdd6 already mounted or /mnt/tmp-ums-test busy
> mount: according to mtab, /dev/sdd6 is already mounted on /mnt/tmp-ums-test

> diff --git a/test/ums/ums_gadget_test.sh b/test/ums/ums_gadget_test.sh

> cp ./$1 $MNT_DIR
> + sleep 2
> umount $MNT_DIR

I don't think there's any guarantee the "2" is the exact correct amount
of time to sleep; I presume you derived the value by trying some values
until you found one that works, and so the actual value required may
vary from system to system. How about something like the following,
which I use in a script that copies a new kernel to an SD card, where I
experienced a similar issue:

while true; do
sudo umount /mnt/C-ROOT/
if [ $? -eq 0 ]; then
break
fi
echo sleeping to wait for umount...
sleep 1
done