RFR: 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux [v3]
Severin Gehwolf
sgehwolf at openjdk.org
Fri Sep 29 16:35:09 UTC 2023
> 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
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/15792/files
- new: https://git.openjdk.org/jdk/pull/15792/files/3ead43a1..070c413a
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=15792&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=15792&range=01-02
Stats: 920 lines in 14 files changed: 228 ins; 649 del; 43 mod
Patch: https://git.openjdk.org/jdk/pull/15792.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/15792/head:pull/15792
PR: https://git.openjdk.org/jdk/pull/15792
More information about the nio-dev
mailing list