RFR: 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux

Severin Gehwolf sgehwolf at openjdk.org
Tue Sep 19 13:59:17 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?

-------------

Commit messages:
 - 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux

Changes: https://git.openjdk.org/jdk/pull/15792/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15792&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8316304
  Stats: 181 lines in 2 files changed: 178 ins; 0 del; 3 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