RFR: 8337966: (fs) Files.readAttributes fails with Operation not permitted on older docker releases

Brian Burkhalter bpb at openjdk.org
Tue Aug 27 21:56:26 UTC 2024


On Wed, 7 Aug 2024 04:20:29 GMT, Alexey Bakhtin <abakhtin at openjdk.org> wrote:

> Please review the fix for regression on the old docker versions (before v18.04)
> 
> Suggest to verify if statx is permitted during initialization
> 
> statx(-1, "", AT_EMPTY_PATH, 0, &statx_buf) return EPERM if statx syscall not permitted and EBADF otherwise
> 
> Fallback to stat() if statx() not permitted
> 
> Related  jtreg tests passed

Note also that an `EPERM` in the if-block here

https://github.com/openjdk/jdk/blob/b1b4cd429a4135840966975dd0c068fe428e2ee6/src/java.base/linux/native/libnio/ch/FileDispatcherImpl.c#L63

would imply returning `IOS_UNSUPPORTED`.

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

PR Comment: https://git.openjdk.org/jdk/pull/20484#issuecomment-2313644588


More information about the nio-dev mailing list