RFR: 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux [v8]
Severin Gehwolf
sgehwolf at openjdk.org
Wed Oct 4 13:24:44 UTC 2023
On Wed, 4 Oct 2023 12:31:24 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:
>> Severin Gehwolf has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 12 additional commits since the last revision:
>>
>> - Link libCreationTimeHelper with -ldl
>> - Merge branch 'master' into JDK-8316304-statx-create-time-new
>> - Cleanup UnixNativeDispatcher.c
>> - Refactor test so as to not use reflection
>> - Fix indents
>> - Check correct fieldID
>> - Add copyright
>> - Add support for nano seconds for btime on Linux
>> - Fix style
>> - Wrap copy_statx_attributes with ifdef __linux__
>> - ... and 2 more: https://git.openjdk.org/jdk/compare/b213660e...83347ec1
>
> src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c line 80:
>
>> 78: // support. We still want to ensure we can call statx at runtime
>> 79: // if the runtime glibc version supports it (>= 2.28)
>> 80: #ifndef __NR_statx
>
> As long as we have to accommodate the case where struct statx is not defined, we may just as well do it always: just define a structure binary compatible to statx but named differently (e.g. my_statx) to prevent name clashes in case the structure happens to be defined already from libc; then use that structure as return type for your function pointer.
>
> The advantage would be you don't need to know and depend on __NR_statx, and you don't need to include asm/unistd. And no two cases to build and test.
>
> We do this already in other places, see e.g. the dynamic inclusion of mallinfo2() in os_linux.cpp.
OK.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15792#discussion_r1345789779
More information about the nio-dev
mailing list