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

Alan Bateman alanb at openjdk.org
Wed Sep 20 07:07:43 UTC 2023


On Mon, 18 Sep 2023 17:05:11 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?

One other thing to try is to rename prepAttributes to something like copyStatAttributes and add a copyStatXAttributes that copies the fields from the statx structure. That on its own go with call stat or statx, never both.

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

PR Comment: https://git.openjdk.org/jdk/pull/15792#issuecomment-1727093997


More information about the nio-dev mailing list