HI Jan,

I debug thoroughly again, I think you are right. Even after applying my patch 
still share1 left mounted. :(
Below is the log of the mount directories as you asked.

rbind/test02    0  TINFO  :  -----mount directory after umount 
parent1------------
/tmp/ltp-XXXXNSbrDv/sandbox on /tmp/ltp-XXXXNSbrDv/sandbox type nfs 
(rw,relatime,..)
/tmp/ltp-XXXXNSbrDv/sandbox/share1 on /tmp/ltp-XXXXNSbrDv/sandbox/share1 type 
nfs (rw,relatime,...)
rbind/test02    0  TINFO  :  
-----------------------------------------------------
rm: can't remove 'share1': Device or resource busy
rbind/test02    1  TPASS  :  rbind/test02: PASSED
rbind/test38    0  TINFO  :  ***************TEST38***************

But I am surprised why It was not showing any diff and TWARN in that case. Do 
you have any idea?

I will upload a new patch with your modification, please review it.

Thanks,
Siva

-----Original Message-----
From: Jan Stancek [mailto:[email protected]] 
Sent: Thursday, November 07, 2013 11:33 PM
To: Siva Padhy/LGSIA CSP-4([email protected])
Cc: [email protected]
Subject: Re: [LTP] [PATCH v2] BindMounts: fix to properly unmount during 
cleanup in fs_bind





----- Original Message -----
> From: "Siva Padhy" <[email protected]>
> To: "Jan Stancek" <[email protected]>
> Cc: [email protected]
> Sent: Thursday, 7 November, 2013 3:21:20 AM
> Subject: RE: [LTP] [PATCH v2] BindMounts: fix to properly unmount 
> during cleanup in fs_bind
> 
> HI Jan,
> 
> Thanks for the reply.
> 
> I verified test02 testcase again with my patch, it is working fine for 
> me. I am also using 3.10.11+ kernel.
> I am wondering why share1 is still mounted in your case.

And I'm wondering why it's not in your case :-).

There are 2 mounts:
"${FS_BIND_ROOT}/bin/makedir" share share1 mount --rbind parent1/child1 share1

so I'd expect 2 umounts:

# mkdir test1; mkdir test2
# mount --bind test1 test1
# mount --rbind test2 test1
# umount test1
# mount | grep test1
/dev/mapper/rhel_dhcp--27--145-root on /mnt/testarea/ltp/test1 type xfs 
(rw,relatime,seclabel,attr2,inode64,noquota)
# umount test1


Can you rerun test02 with this change and send the output of mounted 
directories?

diff --git a/testcases/kernel/fs/fs_bind/rbind/test02 
b/testcases/kernel/fs/fs_bind/rbind/test02
index 3ab7b6c..610e873 100755
--- a/testcases/kernel/fs/fs_bind/rbind/test02
+++ b/testcases/kernel/fs/fs_bind/rbind/test02
@@ -83,10 +83,12 @@ trap '' ERR
        umount share1
        umount parent2
        umount parent1
+       mount | grep sandbox
 
        rm -rf parent* share*
        cleanup
-} >& /dev/null
+}

Regards,
Jan

> 
> I observed, share1 hold the part of parent2/child2  and 
> parent2/child2/b mount points.
> In our case parent2/child2  and parent2/child2/b are not un-mounted 
> so, when I will un-mount share1 it will show resource busy.
> 
> So for that reason I added those 2 line to un-mount the share1 successfully.
> > +   umount parent2/child2/b
> > +   umount parent2/child2
> 
> After adding the above 2 line, now the share1 is free and can be 
> un-mounted successfully.
> >     umount share1
> 
> I tested your code also. That is also working fine. I am successfully 
> executing the test02 without any warning.
> 
> Please share your suggestion so that I can go-ahead. Hope my changes 
> for
> test38 is proper.
> 
> Regards,
> Siva
> 
> -----Original Message-----
> From: Jan Stancek [mailto:[email protected]]
> Sent: Thursday, November 07, 2013 7:48 AM
> To: Siva Padhy/LGSIA CSP-4([email protected])
> Cc: [email protected]
> Subject: Re: [LTP] [PATCH v2] BindMounts: fix to properly unmount 
> during cleanup in fs_bind
> 
> 
> 
> 
> 
> ----- Original Message -----
> > From: "Siva Padhy" <[email protected]>
> > To: [email protected]
> > Sent: Wednesday, 6 November, 2013 10:45:51 AM
> > Subject: [LTP] [PATCH v2] BindMounts: fix to properly unmount during 
> > cleanup in fs_bind
> > 
> > While running fs_bound testcases, some test directory structure are 
> > mounted using -rbind option. While exiting the testcase the umount 
> > is not properly done, hence the below testcase are falling into TWARN.
> > 
> >   fs_bind/test02
> >   fs_bind/test38
> > 
> > The warning message is as below for respective testcases
> >   TWARN  :  rbind/test02 did not properly clean up
> >   "/tmp/ltp-XXXX9qdYqG/sandbox"
> >   TWARN  :  rbind/test38 did not properly clean up
> >   "/tmp/ltp-XXXX9qdYqG/sandbox"
> > 
> > This patch unmount all the mounted/submounted parts of the 
> > filesystem properly.
> > 
> > Change-Id: Ica6d1799b89e933587c11c1755dff996ddbdf8c5
> > Signed-off-by: Siva <[email protected]>
> > ---
> >  testcases/kernel/fs/fs_bind/rbind/test02 |    2 ++
> >  testcases/kernel/fs/fs_bind/rbind/test38 |    5 +++++
> >  2 files changed, 7 insertions(+)
> > 
> > diff --git a/testcases/kernel/fs/fs_bind/rbind/test02
> > b/testcases/kernel/fs/fs_bind/rbind/test02
> > index 3ab7b6c..eab9cdc 100755
> > --- a/testcases/kernel/fs/fs_bind/rbind/test02
> > +++ b/testcases/kernel/fs/fs_bind/rbind/test02
> > @@ -76,8 +76,10 @@ trap '' ERR
> >  {
> >     umount parent1/child1/a
> >     umount parent1/child1/b
> > +   umount parent2/child2/b
> >     umount parent1/child1
> >     umount parent1/child1
> > +   umount parent2/child2
> >     umount parent1/child1
> >     umount parent1/child1
> >     umount share1
> 
> Hi,
> 
> This still leaves me with share1 mounted. The following umount 
> sequence works for me (3.10 based kernel). Can you try if it fixes 
> also your issue in test02?
> 
>         umount parent2/child2/b
>         umount parent1/child1/a
>         umount parent2/child2
>         umount share1
>         umount parent1/child1
> 
>         umount parent1/child1
>         umount share1
>         umount parent2
>         umount parent1
> 
> Regards,
> Jan
> 
> > diff --git a/testcases/kernel/fs/fs_bind/rbind/test38
> > b/testcases/kernel/fs/fs_bind/rbind/test38
> > index c9cf3e1..c944ce5 100755
> > --- a/testcases/kernel/fs/fs_bind/rbind/test38
> > +++ b/testcases/kernel/fs/fs_bind/rbind/test38
> > @@ -77,6 +77,7 @@ trap '' ERR
> >  {
> >     umount share1/a
> >     umount parent1/child1/b
> > +   umount parent2/child1/b
> >     umount parent2/child1/c
> >     umount parent1/child1
> >     umount parent1/child1
> > @@ -86,6 +87,10 @@ trap '' ERR
> >     umount parent2
> >     umount share1
> >     umount share1
> > +   umount parent1
> > +   umount share2
> > +   umount parent2/child2
> > +   umount parent2
> >  
> >     rm -rf parent* share*
> >     cleanup
> > --
> > 1.7.9.5
> > 
> > 
> > --------------------------------------------------------------------
> > --
> > -------- November Webinars for C, C++, Fortran Developers Accelerate 
> > application performance with scalable programming models. Explore 
> > techniques for threading, error checking, porting, and tuning. Get 
> > the most from the latest Intel processors and coprocessors. See 
> > abstracts and register 
> > http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg
> > .c lktrk _______________________________________________
> > Ltp-list mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/ltp-list
> > 
> 
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to