--- old/src/java.base/unix/classes/sun/nio/fs/UnixChannelFactory.java 2016-11-16 10:28:19.248497910 -0800 +++ new/src/java.base/unix/classes/sun/nio/fs/UnixChannelFactory.java 2016-11-16 10:28:19.191497909 -0800 @@ -64,6 +64,7 @@ boolean deleteOnClose; boolean sync; boolean dsync; + boolean direct; static Flags toFlags(Set options) { Flags flags = new Flags(); @@ -88,6 +89,12 @@ flags.noFollowLinks = true; continue; } + + if (ExtendedOptions.DIRECT.matches(option)) { + flags.direct = true; + continue; + } + if (option == null) throw new NullPointerException(); throw new UnsupportedOperationException(option + " not supported"); @@ -134,7 +141,7 @@ throw new IllegalArgumentException("APPEND + TRUNCATE_EXISTING not allowed"); FileDescriptor fdObj = open(dfd, path, pathForPermissionCheck, flags, mode); - return FileChannelImpl.open(fdObj, path.toString(), flags.read, flags.write, null); + return FileChannelImpl.open(fdObj, path.toString(), flags.read, flags.write, flags.direct, null); } /**