[LTP] [PATCH v6, 1/4] lib: tst_umount: umount a mount point instead of a device
Petr Vorel
pvorel@suse.cz
Mon Aug 23 15:48:12 CEST 2021
> Current check inside tst_umount for whehter a device is mounted is ambiguous.
> Fix it by checking for the existance of the exact mount point the fs is mounted upon,
> and use the mount point instead of the device to do the umount process.
> This patch make tst_umount umount TST_MNTPOINT by default,
> and reject any argument that does not start with '/'.
> Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
> ---
> testcases/lib/tst_test.sh | 18 +++++++++++-------
> 1 file changed, 11 insertions(+), 7 deletions(-)
> diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> index c6aa2c487..1060bda2f 100644
> --- a/testcases/lib/tst_test.sh
> +++ b/testcases/lib/tst_test.sh
> @@ -277,31 +277,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 [[ "$mntpoint" != /* ]]; then
[[ ]] is a bashism, it cannot be used. [1]
Instead grep must be used to compare regex:
if echo "$mntpoint" |grep -q ^/; then
This can be changed during merge.
Reviewed-by: Petr Vorel <pvorel@suse.cz>
[1] https://github.com/linux-test-project/ltp/wiki/Test-Writing-Guidelines#22-shell-coding-style
> + 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"
> 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()
More information about the ltp
mailing list