--- old/src/java.base/share/classes/sun/nio/ch/NativeDispatcher.java 2016-09-29 14:26:26.651927323 -0700 +++ new/src/java.base/share/classes/sun/nio/ch/NativeDispatcher.java 2016-09-29 14:26:26.545927322 -0700 @@ -38,6 +38,12 @@ abstract int read(FileDescriptor fd, long address, int len) throws IOException; + int readDirect(FileDescriptor fd, long address, int len) + throws IOException + { + throw new IOException("Operation Unsupported"); + } + /** * Returns {@code true} if pread/pwrite needs to be synchronized with * position sensitive methods. @@ -52,21 +58,51 @@ throw new IOException("Operation Unsupported"); } + int preadDirect(FileDescriptor fd, long address, int len, long position) + throws IOException + { + throw new IOException("Operation Unsupported"); + } + abstract long readv(FileDescriptor fd, long address, int len) throws IOException; + long readvDirect(FileDescriptor fd, long address, int len) + throws IOException + { + throw new IOException("Operation Unsupported"); + } + abstract int write(FileDescriptor fd, long address, int len) throws IOException; + int writeDirect(FileDescriptor fd, long address, int len) + throws IOException + { + throw new IOException("Operation Unsupported"); + } + int pwrite(FileDescriptor fd, long address, int len, long position) throws IOException { throw new IOException("Operation Unsupported"); } + int pwriteDirect(FileDescriptor fd, long address, int len, long position) + throws IOException + { + throw new IOException("Operation Unsupported"); + } + abstract long writev(FileDescriptor fd, long address, int len) throws IOException; + long writevDirect(FileDescriptor fd, long address, int len) + throws IOException + { + throw new IOException("Operation Unsupported"); + } + abstract void close(FileDescriptor fd) throws IOException; // Prepare the given fd for closing by duping it to a known internal fd