[LTP] [PATCH] eventfd06: add AIO support check

Li Wang liwang@redhat.com
Tue Jan 21 11:33:50 CET 2025


On Tue, Jan 21, 2025 at 5:26 PM Petr Vorel <pvorel@suse.cz> wrote:

> > Just like what we did for io_setup01.c to avoid ENOSYS error:
> >   eventfd06.c:140: TBROK: io_setup() failed: ENOSYS
>
> > Signed-off-by: Li Wang <liwang@redhat.com>
> > ---
> >  testcases/kernel/syscalls/eventfd/eventfd06.c | 2 ++
> >  1 file changed, 2 insertions(+)
>
> > diff --git a/testcases/kernel/syscalls/eventfd/eventfd06.c
> b/testcases/kernel/syscalls/eventfd/eventfd06.c
> > index 7339dd471..46d7f73d3 100644
> > --- a/testcases/kernel/syscalls/eventfd/eventfd06.c
> > +++ b/testcases/kernel/syscalls/eventfd/eventfd06.c
> > @@ -136,6 +136,8 @@ static void test_poll(void)
> >  static void setup(void)
> >  {
> >       TEST(io_setup(MAXEVENTS, &ctx));
> > +     if (TST_RET == -ENOSYS)
>
> Reviewed-by: Petr Vorel <pvorel@suse.cz>
>
> Maybe to be safe to check also TST_RET?
>
> if (TST_RET == -1 && TTERRNO == ENOSYS)
>

I guess you mean: if (TST_RET == -1 &&  TST_ERR == ENOSYS).

Typically this is correct but here it's not right. Because according
to the io_setup(2) - Linux man page:

"... Note also that the libaio wrapper does not follow the
usual C library conventions for indicating errors: on
error it returns a negated error number (the negative
of one of the values listed in ERRORS) ... "




>
> Maybe (after the release) we could add new macro to tst_test_macros.h
> similar to TEST(), which would do test like this (variant of tst_syscall()
> macro). We already have 10 tests which do this manually.
>

Sure.


> Kind regards,
> Petr
>
> > +             tst_brk(TCONF | TRERRNO, "io_setup(): AIO not supported by
> kernel");
> >       if (TST_RET < 0)
> >               tst_brk(TBROK, "io_setup() failed: %s",
> tst_strerrno(-TST_RET));
>
>

-- 
Regards,
Li Wang


More information about the ltp mailing list