
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