> > Now, "do_fallocate()" needs fallocate() op. but on ext3 this is not 
> > supported i.e. ENOTSUP.

>>Do you have kernel compiled with CONFIG_TMPFS=y?

No. I've just checked kernel with above option: the reported madvise03 testcase 
worked fine (usage of shmem_fallocate()).
So your analysis of my scenario is corret.
Please , discard posted patch.

Thanks so much.
FR

> 
> madvise(start=0x7fcff6d66000 len_in=0x1000 behavior=0x9) Call Trace:
>  0xffffffff81150130 : shmem_fallocate+0x0/0x300 [kernel]
>  0xffffffff8122d056 : shm_fallocate+0x26/0x40 [kernel]
>  0xffffffff811a0089 : do_fallocate+0xf9/0x190 [kernel]
>  0xffffffff8115ac95 : SyS_madvise+0x355/0x7a0 [kernel]
>  0xffffffff815d05d9 : system_call_fastpath+0x16/0x1b [kernel]
> 
> Do you have possibility to run original testcase with strace?
> # strace ./madvise03 2>&1 | grep -v abcdefghijklmnopqrstuvwxyz12345
> 
> Regards,
> Jan
> 
> > This is the reason for which I consider this scenario as not 
> > supported and not ENOSYS as the system call is supported as the 
> > remaining scenarios worked fine (MADV_DONTFORK and MADV_DOFORK).
> > 
> > Regards
> > FR
> > > 
> > > Regards,
> > > FR
> > > 
> > > >>Regards,
> > > >>Jan
> > > 
> > > 
> > > > 
> > > > 
> > > > Regards,
> > > > FR
> > > > 
> > > > -----Original Message-----
> > > > From: Wanlong Gao [mailto:[email protected]]
> > > > Sent: Friday, February 21, 2014 9:02 AM
> > > > To: Francesco RUNDO
> > > > Cc: [email protected]
> > > > Subject: Re: [LTP] [PATCH] madvise/madvise03.c: Changed test 
> > > > exit code
> > > > 
> > > > On 02/21/2014 03:51 PM, Francesco RUNDO wrote:
> > > > > Changed exit code from TFAIL to TCONF  in case of unsupported 
> > > > > syscall.
> > > > > The "madvise" syscall needs kernel support as well as fs 
> > > > > support as -for specific advice- it requires specific 
> > > > > filesystem operations such as fallocate().
> > > > 
> > > > Could you paste the running log on not supported system?
> > > > 
> > > > Thanks,
> > > > Wanlong Gao
> > > > 
> > > > > So, if kernel support is missed or fs doesn't provide specific 
> > > > > operation needed for such "advice" scenario of that syscall, 
> > > > > the right exit code (according to LTP defs) is not TFAIL as it 
> > > > > is not a failure but it is TCONF as the syscall is unsupported.
> > > > > 
> > > > > Signed-off-by: Francesco Rundo <[email protected]>
> > > > > ---
> > > > >  testcases/kernel/syscalls/madvise/madvise03.c |   17
> > > > >  +++++++++++++----
> > > > >  1 files changed, 13 insertions(+), 4 deletions(-)
> > > > > 
> > > > > diff --git a/testcases/kernel/syscalls/madvise/madvise03.c
> > > > > b/testcases/kernel/syscalls/madvise/madvise03.c
> > > > > index b0c17e8..23dd9a6 100644
> > > > > --- a/testcases/kernel/syscalls/madvise/madvise03.c
> > > > > +++ b/testcases/kernel/syscalls/madvise/madvise03.c
> > > > > @@ -160,10 +160,19 @@ static void cleanup(void)  static void 
> > > > > check_and_print(char *advice)  {
> > > > >       if (TEST_RETURN == -1) {
> > > > > -             tst_resm(TFAIL,
> > > > > -                      "madvise test for %s failed with "
> > > > > -                      "return = %ld, errno = %d : %s",
> > > > > -                      advice, TEST_RETURN, TEST_ERRNO, 
> > > > > strerror(TEST_ERRNO));
> > > > > +             if (TEST_ERRNO != ENOTSUP) {
> > > > > +                     tst_resm(TFAIL,
> > > > > +                              "madvise test for %s failed with "
> > > > > +                              "return = %ld, errno = %d : %s",
> > > > > +                              advice, TEST_RETURN, TEST_ERRNO,
> > > > > +                              strerror(TEST_ERRNO));
> > > > > +             } else {
> > > > > +                     tst_resm(TCONF,
> > > > > +                             "madvise test for %s unsupported "
> > > > > +                             "return = %ld, errno = %d : %s",
> > > > > +                             advice, TEST_RETURN, TEST_ERRNO,
> > > > > +                             strerror(TEST_ERRNO));
> > > > > +             }
> > > > >       } else if (STD_FUNCTIONAL_TEST) {
> > > > >               tst_resm(TPASS, "madvise test for %s PASSED", advice);
> > > > >       }
> > > > > 
> > > > 
> > > > 
> > > > ----------------------------------------------------------------
> > > > ----
> > > > --
> > > > -------- Managing the Performance of Cloud-Based Applications 
> > > > Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
> > > > Read the Whitepaper.
> > > > http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.
> > > > clktrk _______________________________________________
> > > > Ltp-list mailing list
> > > > [email protected]
> > > > https://lists.sourceforge.net/lists/listinfo/ltp-list
> > > > 
> > > 
> > 
>
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to