On Wed, 22 Jun 2022 19:05:41 GMT, Lance Andersen <lan...@openjdk.org> wrote:
> Hi, > > Please review the following patch which will: > > - Enhance the java.nio.file.spi.FileSystemProvider abstract class to include > the methods > > - public boolean exists(Path path, LinkOption... options) > - public <A extends BasicFileAttributes> A readAttributesIfExists(Path > path, Class<A> type, LinkOption... options) > > > This change allows for providers to provide optimizations when the file's > attributes are not needed. > > Mach5 tiers 1 - 3 run clean with this change > > The CSR may be viewed at > [JDK-8283336](https://bugs.openjdk.org/browse/JDK-8283336) > > > Best, > Lance src/java.base/unix/classes/sun/nio/fs/UnixFileAttributes.java line 80: > 78: static UnixFileAttributes getIfExists(UnixPath path) throws > UnixException { > 79: UnixFileAttributes attrs = new UnixFileAttributes(); > 80: int errno = UnixNativeDispatcher.stat2(path, attrs); I think that this is the only use of `stat2()`. It could be deleted if this method were replaced with this: static UnixFileAttributes getIfExists(UnixPath path) throws UnixException { UnixFileAttributes attrs = new UnixFileAttributes(); try { UnixNativeDispatcher.stat(path, attrs); return attrs; } catch (UnixException e) { if (e.errno() == UnixConstants.ENOENT) { return null; } throw e; } } ------------- PR: https://git.openjdk.org/jdk/pull/9249