All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cyril Hrubis <chrubis@suse.cz>
To: zhaogongyi <zhaogongyi@huawei.com>
Cc: "ltp@lists.linux.it" <ltp@lists.linux.it>
Subject: Re: [LTP] [PATCH] syscalls/io_submit: Add TTERRNO/TERRNO when test fail
Date: Tue, 19 Apr 2022 15:14:29 +0200	[thread overview]
Message-ID: <Yl61tZWzUo5gIq3f@yuki> (raw)
In-Reply-To: <09052cfe41694a07ad31c2919e16c4c6@huawei.com>

Hi!
> > 
> > NACK.
> > 
> > As far as I can tell the io_submit() calls returns negative error instead of
> > setting errno, at least that's what libaio documentation states.
> 
> Yes, according to linux manual, libaio interface don't set errno when calling failed, so, do we also need to remove the TREENO here?
> 
> 80         TEST(io_setup(1, &ctx));
> 81         if (TST_RET == -ENOSYS)
> 82                 tst_brk(TCONF | TRERRNO, "io_setup(): AIO not supported by kernel");
> 83         else if (TST_RET)
> 84                 tst_brk(TBROK | TRERRNO, "io_setup() failed");

Yes please, this should be replaced by manually printing
tst_strerrno(-TST_RET).

> > > diff --git a/testcases/kernel/syscalls/io_submit/io_submit02.c
> > > b/testcases/kernel/syscalls/io_submit/io_submit02.c
> > > index 38b8555d8..6ba4d99a5 100644
> > > --- a/testcases/kernel/syscalls/io_submit/io_submit02.c
> > > +++ b/testcases/kernel/syscalls/io_submit/io_submit02.c
> > > @@ -79,7 +79,7 @@ static void run(unsigned int i)
> > >  	if (TST_RET == tc[i].nr)
> > >  		tst_res(TPASS, "io_submit() %s", tc[i].desc);
> > >  	else
> > > -		tst_res(TFAIL, "io_submit() returns %ld, expected %ld", TST_RET,
> > tc[i].nr);
> > > +		tst_res(TFAIL | TTERRNO, "io_submit() returns %ld,
> > expected %ld",
> > > +TST_RET, tc[i].nr);
> > 
> > The best we can do here is to use tst_strerrno() to print the error as we do
> > in the io_submit().
> 
> According to linux manual, call io_submit through syscall, it will set errno:
> 	"If the system call is invoked via syscall(2), then the return value follows the usual conventions for indicating an error: -1, with  errno  set  to  a
>     (positive) value that indicates the error."

Ah right, as long as we use the syscall() wrapper the negative error
return value will be moved to the errno variable by the wrapper, so this
part is correct.

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  reply	other threads:[~2022-04-19 13:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-19 12:05 [LTP] [PATCH] syscalls/io_submit: Add TTERRNO/TERRNO when test fail zhaogongyi via ltp
2022-04-19 13:14 ` Cyril Hrubis [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-04-21 12:14 zhaogongyi via ltp
2022-04-19  8:50 Zhao Gongyi via ltp
2022-04-19 11:40 ` Cyril Hrubis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yl61tZWzUo5gIq3f@yuki \
    --to=chrubis@suse.cz \
    --cc=ltp@lists.linux.it \
    --cc=zhaogongyi@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.