RFR: 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux [v8]
Severin Gehwolf
sgehwolf at openjdk.org
Wed Oct 4 10:06:40 UTC 2023
On Tue, 3 Oct 2023 17:41:24 GMT, Severin Gehwolf <sgehwolf at openjdk.org> wrote:
>> Please review this nio change which adds `BasicFileAttributes.creationTime()` support for Linux by means of the `statx` Linux specific system call. The patch does a dynamic lookup of the function and if it is available, uses it to set the support birth time capability in `UnixNativeDispatcher`. When `statx` is not available, it won't use it and fall back to the old behaviour on such systems. It should, however, compile fine on Linux systems not supporting the `statx` system call.
>>
>> Testing:
>> - [x] GHA (MacOS X failure seems unrelated)
>> - [x] `java.nio` tests.
>> - [x] Manual builds and tests on older glibc versions (2.17 => fallback, 2.28+ => works). Compiles fine and falls back to the not supported case as it was before this patch.
>>
>> Thoughts?
>
> 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/d9b097ab...83347ec1
x86 (32 bit) GHA failure seems unrelated. My testing seems OK for this patch. Feel free to run your own.
Please let me know if there is anything else that still needs to be addressed.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/15792#issuecomment-1746548920
More information about the nio-dev
mailing list