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