[LTP] [PATCH v6, 1/4] lib: tst_umount: umount a mount point instead of a device
Leo Liang
ycliang@andestech.com
Tue Aug 24 13:27:37 CEST 2021
Hi Petr,
Understood! Thanks for explaining everything!
I will send a v7 soon including all the modifications needed.
Best regards,
Leo
On Mon, Aug 23, 2021 at 04:19:49PM +0200, Petr Vorel wrote:
> Hi Leo,
>
> as I noted at forth patch, some tests use tst_umount with the default parameter.
> Thus we should set the default TST_MNTPOINT to use $PWD as well.
>
> I'd also add quotes around $mntpoint in TCONF/TINFO messages in tst_mount() as
> the original message was a bit confusing when the mountpoint was called
> 'mntpoint' (TWARN: The mntpoint is not an absolute path).
>
> Kind regards,
> Petr
>
> +++ testcases/lib/tst_test.sh
> @@ -279,31 +279,35 @@ tst_mount()
>
> tst_umount()
> {
> - local device="${1:-$TST_DEVICE}"
> + local mntpoint="${1:-$TST_MNTPOINT}"
> local i=0
>
> - [ -z "$device" ] && return
> + [ -z "$mntpoint" ] && return
>
> - if ! grep -q "$device" /proc/mounts; then
> - tst_res TINFO "The $device is not mounted, skipping umount"
> + if ! echo "$mntpoint" | grep -q ^/; then
> + tst_brk TCONF "The '$mntpoint' is not an absolute path"
> + fi
> +
> + if ! grep -q "${mntpoint%/}" /proc/mounts; then
> + tst_res TINFO "The '$mntpoint' is not mounted upon, skipping umount"
Will add this in v7!
> return
> fi
>
> while [ "$i" -lt 50 ]; do
> - if umount "$device" > /dev/null; then
> + if umount "$mntpoint" > /dev/null; then
> return
> fi
>
> i=$((i+1))
>
> - tst_res TINFO "umount($device) failed, try $i ..."
> + tst_res TINFO "umount($mntpoint) failed, try $i ..."
> tst_res TINFO "Likely gvfsd-trash is probing newly mounted "\
> "fs, kill it to speed up tests."
>
> tst_sleep 100ms
> done
>
> - tst_res TWARN "Failed to umount($device) after 50 retries"
> + tst_res TWARN "Failed to umount($mntpoint) after 50 retries"
> }
>
> tst_mkfs()
> @@ -628,7 +632,7 @@ tst_run()
> cd "$TST_TMPDIR"
> fi
>
> - TST_MNTPOINT="${TST_MNTPOINT:-mntpoint}"
> + TST_MNTPOINT="${TST_MNTPOINT:-$PWD/mntpoint}"
This is a good catch.
I think I did notice that df01.sh uses tst_umount as a clean up
function, but didn't realize that this should be changed!
Thanks for the heads up!
> if [ "$TST_NEEDS_DEVICE" = 1 ]; then
>
> TST_DEVICE=$(tst_device acquire)
More information about the ltp
mailing list