diff mbox series

[v2,1/2] lib/tst_test.sh: Make tst_umount work with argument that

Message ID 20210715142448.GA30641@atcfdc88
State Changes Requested
Headers show
Series cgroup/cgroup_regression_test: Fix umount failure | expand

Commit Message

Leo Liang July 15, 2021, 2:24 p.m. UTC
/proc/mounts shows the mount point without terminating slashes, e.g.
~ $ cat /proc/mounts
xxx /root/cgroup cgroup rw,relatime,cpu 0 0

So current tst_umount would not work with argument that has terminating slash, e.g.
tst_umount cgroup/ would give "The device is not mounted".

Fix this by using mountpoint command instead of grepping /proc/mounts.

Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
---
 testcases/lib/tst_test.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Yang Xu \(Fujitsu\) July 16, 2021, 1:23 a.m. UTC | #1
Hi Leo
> /proc/mounts shows the mount point without terminating slashes, e.g.
> ~ $ cat /proc/mounts
> xxx /root/cgroup cgroup rw,relatime,cpu 0 0
>
> So current tst_umount would not work with argument that has terminating slash, e.g.
> tst_umount cgroup/ would give "The device is not mounted".
>
> Fix this by using mountpoint command instead of grepping /proc/mounts.
>
> Signed-off-by: Leo Yu-Chi Liang<ycliang@andestech.com>
> ---
>   testcases/lib/tst_test.sh | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> index c6aa2c487..7e77711f1 100644
> --- a/testcases/lib/tst_test.sh
> +++ b/testcases/lib/tst_test.sh
> @@ -282,7 +282,7 @@ tst_umount()
>
>   	[ -z "$device" ]&&  return
>
> -	if ! grep -q "$device" /proc/mounts; then
> +	if ! mountpoint -q "$device"; then
Honestly speaking, I don't want to introduce mountpoint command.
we can just filter the last "/" string for $device.

Best Regards
Yang Xu
>   		tst_res TINFO "The $device is not mounted, skipping umount"
>   		return
>   	fi
Leo Liang July 16, 2021, 6:43 a.m. UTC | #2
Hi Yang,
On Fri, Jul 16, 2021 at 09:23:01AM +0800, xuyang2018.jy@fujitsu.com wrote:
> Hi Leo
> > /proc/mounts shows the mount point without terminating slashes, e.g.
> > ~ $ cat /proc/mounts
> > xxx /root/cgroup cgroup rw,relatime,cpu 0 0
> >
> > So current tst_umount would not work with argument that has terminating slash, e.g.
> > tst_umount cgroup/ would give "The device is not mounted".
> >
> > Fix this by using mountpoint command instead of grepping /proc/mounts.
> >
> > Signed-off-by: Leo Yu-Chi Liang<ycliang@andestech.com>
> > ---
> >   testcases/lib/tst_test.sh | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> > index c6aa2c487..7e77711f1 100644
> > --- a/testcases/lib/tst_test.sh
> > +++ b/testcases/lib/tst_test.sh
> > @@ -282,7 +282,7 @@ tst_umount()
> >
> >   	[ -z "$device" ]&&  return
> >
> > -	if ! grep -q "$device" /proc/mounts; then
> > +	if ! mountpoint -q "$device"; then
> Honestly speaking, I don't want to introduce mountpoint command.
> we can just filter the last "/" string for $device.
> 
> Best Regards
> Yang Xu

Got it! 
I'll send a v3 patch with this approach:
Filtering out the '/' when determining whether a $device is mounted.
Thanks!

Best regards,
Leo

> >   		tst_res TINFO "The $device is not mounted, skipping umount"
> >   		return
> >   	fi
Petr Vorel July 16, 2021, 8:12 a.m. UTC | #3
Hi all,

> Hi Leo
> > /proc/mounts shows the mount point without terminating slashes, e.g.
> > ~ $ cat /proc/mounts
> > xxx /root/cgroup cgroup rw,relatime,cpu 0 0

> > So current tst_umount would not work with argument that has terminating slash, e.g.
> > tst_umount cgroup/ would give "The device is not mounted".

> > Fix this by using mountpoint command instead of grepping /proc/mounts.

> > Signed-off-by: Leo Yu-Chi Liang<ycliang@andestech.com>
> > ---
> >   testcases/lib/tst_test.sh | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)

> > diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> > index c6aa2c487..7e77711f1 100644
> > --- a/testcases/lib/tst_test.sh
> > +++ b/testcases/lib/tst_test.sh
> > @@ -282,7 +282,7 @@ tst_umount()

> >   	[ -z "$device" ]&&  return

> > -	if ! grep -q "$device" /proc/mounts; then
> > +	if ! mountpoint -q "$device"; then
> Honestly speaking, I don't want to introduce mountpoint command.
> we can just filter the last "/" string for $device.
+1, please no any unnecessary dependency.

Kind regards,
Petr

> Best Regards
> Yang Xu
diff mbox series

Patch

diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
index c6aa2c487..7e77711f1 100644
--- a/testcases/lib/tst_test.sh
+++ b/testcases/lib/tst_test.sh
@@ -282,7 +282,7 @@  tst_umount()
 
 	[ -z "$device" ] && return
 
-	if ! grep -q "$device" /proc/mounts; then
+	if ! mountpoint -q "$device"; then
 		tst_res TINFO "The $device is not mounted, skipping umount"
 		return
 	fi