----- Original Message -----
> From: "Wanlong Gao" <gaowanl...@cn.fujitsu.com>
> To: "Jan Stancek" <jstan...@redhat.com>, "Xiaoguang Wang" 
> <wangxg.f...@cn.fujitsu.com>
> Cc: ltp-list@lists.sourceforge.net, "Artem Savkov" <asav...@redhat.com>
> Sent: Monday, 21 July, 2014 11:09:47 AM
> Subject: Re: [LTP] [PATCH 2/2] syscalls/getcwd04.c: regression test for 
> getcwd(2)
> 
> On 07/21/2014 05:04 PM, Jan Stancek wrote:
> > 
> > 
> > ----- Original Message -----
> >> > From: "Xiaoguang Wang" <wangxg.f...@cn.fujitsu.com>
> >> > To: ltp-list@lists.sourceforge.net
> >> > Sent: Tuesday, 15 July, 2014 12:13:49 PM
> >> > Subject: [LTP] [PATCH 2/2] syscalls/getcwd04.c: regression test for
> >> > getcwd(2)
> >> > 
> >> > Note: this test has already been in xfstests generic/028 test case,
> >> > I just port it to LTP.
> >> > 
> >> > Kernel commit '232d2d60aa5469bb097f55728f65146bd49c1d25' introduced a
> >> > race
> >> > condition that causes getcwd(2) to return "/" instead of correct path.
> >> >     232d2d6 dcache: Translating dentry into pathname without
> >> >             taking rename_lock
> >> > 
> >> > And these two kernel commits have fixed this bug:
> >> >   ede4cebce16f5643c61aedd6d88d9070a1d23a68
> >> >      prepend_path() needs to reinitialize dentry/vfsmount/mnt on
> >> >      restarts
> >> >   f6500801522c61782d4990fa1ad96154cb397cd4
> >> >      f650080 __dentry_path() fixes
> >> > 
> >> > This test is to check whether this bug exists in the running kernel,
> >> > or whether this bug has been fixed.
> >> > 
> >> > Signed-off-by: Xiaoguang Wang <wangxg.f...@cn.fujitsu.com>
> > Hi,
> > 
> > looks good to me.
> > 
> >> > I have run this test case in RHEL7.0GA, Fedora19, v3.11-7758-g232d2d6
> >> > and 3.16.0-rc4+.
> >> > RHEL7.0GA has this kernel bug, so this test case fails.
> > I can confirm this, with note that I've seen it happen only on systems with
> > 2+ CPUs.
> 
> If this note is truth, we should judge the nr_cpus in this case to make sure
> it always
> gives the right result.

My observation is that it's at least easier to reproduce on 2+ CPUs:

# time taskset -c 0 ./getcwd04 
getcwd04    1  TPASS  :  Bug is not reproduced!

real    0m5.002s
user    0m0.506s
sys     0m4.494s

# time taskset -c 0,1 ./getcwd04 
getcwd04    1  TFAIL  :  initial current work directory is 
/tmp/getg6foNN/testdir, now is /. Bug is reproduced!

real    0m0.002s
user    0m0.000s
sys     0m0.002s


I'm not sure what you are suggesting we do, other than to make note somewhere.

It's a test for race condition, so if it tried its best to reproduce and
ended with "Bug is not reproduced!", that looks like right result to me.

Regards,
Jan

> 
> Thanks,
> Wanlong Gao
>  
> 
> 

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to