From mboxrd@z Thu Jan 1 00:00:00 1970 From: Petr Vorel Date: Mon, 23 Aug 2021 15:48:12 +0200 Subject: [LTP] [PATCH v6, 1/4] lib: tst_umount: umount a mount point instead of a device In-Reply-To: <20210804015248.GA22328@andestech.com> References: <20210804015248.GA22328@andestech.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ltp@lists.linux.it > 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 > --- > 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 [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()