On 2021-08-23, Shuah Khan wrote: > Hi Baolin, > > On 8/22/21 8:40 PM, Baolin Wang wrote: > > Hi Shuah, > > > > On 2021/7/28 20:32, Baolin Wang wrote: > > > Hi, > > > > > > > When running the openat2 test suite on ARM64 platform, we got below failure, > > > > since the definition of the O_LARGEFILE is different on ARM64. So we can > > > > set the correct O_LARGEFILE definition on ARM64 to fix this issue. > > > > > > Sorry, I forgot to copy the failure log: > > > > > Please cc everybody get_maintainers.pl suggests. You are missing > key reviewers for this change. > > Adding Christian Brauner and Aleksa Sarai to the thread. > > > > # openat2 unexpectedly returned # 3['/lkp/benchmarks/kernel_selftests/tools/testing/selftests/openat2'] with 208000 (!= 208000) > > Not sure I understand this. 208000 (!= 208000) look sthe same to me. > > > > not ok 102 openat2 with incompatible flags (O_PATH | O_LARGEFILE) fails with -22 (Invalid argument) > > > > > > > > > > > Signed-off-by: Baolin Wang > > > > Could you apply this patch if no objection from your side? Thanks. > > > > Ideally this define should come from an include file. The issue is that O_LARGEFILE is set to 0 by glibc because glibc appears to hide the nuts and bolts of largefile support from userspace. I couldn't find a nice way of doing a architecture-dependent includes of include/uapi from kselftests, so I just went with this instead -- but I agree that a proper include would be better if someone can figure out how to do it. > Christian, Aleksa, > > Can you review this patch and let me know if this approach looks right. Reviewed-by: Aleksa Sarai It'd be nice to fix this for the other architectures I mention in the comment (mips, parisc, powerpc, sparc) -- which are the ones that I could find that had a custom O_LARGEFILE definition. > > > > --- > > > >   tools/testing/selftests/openat2/openat2_test.c | 4 ++++ > > > >   1 file changed, 4 insertions(+) > > > > > > > > diff --git a/tools/testing/selftests/openat2/openat2_test.c b/tools/testing/selftests/openat2/openat2_test.c > > > > index d7ec1e7..1bddbe9 100644 > > > > --- a/tools/testing/selftests/openat2/openat2_test.c > > > > +++ b/tools/testing/selftests/openat2/openat2_test.c > > > > @@ -22,7 +22,11 @@ > > > >    * XXX: This is wrong on {mips, parisc, powerpc, sparc}. > > > >    */ > > > >   #undef    O_LARGEFILE > > > > +#ifdef __aarch64__ > > > > +#define    O_LARGEFILE 0x20000 > > > > +#else > > > >   #define    O_LARGEFILE 0x8000 > > > > +#endif > > > >   struct open_how_ext { > > > >       struct open_how inner; > > > > > > > > thanks, > -- Shuah -- Aleksa Sarai Senior Software Engineer (Containers) SUSE Linux GmbH