From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Thu, 06 Nov 2014 10:00:12 -0700 Subject: [U-Boot] [PATCH] test: ums: Add sleep before unmount directory In-Reply-To: <1415269420-6528-1-git-send-email-l.majewski@samsung.com> References: <1415269420-6528-1-git-send-email-l.majewski@samsung.com> Message-ID: <545BA91C.1050902@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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