RFR: 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux [v3]
David Voit
duke at openjdk.org
Mon Oct 2 12:47:14 UTC 2023
On Fri, 29 Sep 2023 16:35:09 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 refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains three new commits since the last revision:
>
> - Wrap copy_statx_attributes with ifdef __linux__
> - Fix compile warnings.
> - 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux
src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c line 212:
> 210:
> 211: #if defined(_DARWIN_FEATURE_64_BIT_INODE) || defined(__linux__)
> 212: static jfieldID attrs_st_birthtime_sec;
birthtime_nsec missing? Just set it to zero on darwin and use the value under linux?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15792#discussion_r1341667257
More information about the nio-dev
mailing list