RFR: 6980847: (fs) Files.copy needs to be tuned
Alan Bateman
alanb at openjdk.java.net
Wed Jun 15 12:27:13 UTC 2022
On Wed, 15 Jun 2022 00:20:58 GMT, Brian Burkhalter <bpb at openjdk.org> wrote:
> Modify `UnixCopyFile.copyFile()` to set the transfer size to the least common multiple of the source and destination file block sizes if the block sizes are not equal. Modify `WindowsFileCopy.copy()` to set `COPY_FILE_NO_BUFFERING` in the flags passed to `CopyFileEx()` if the size of the transfer is greater than a threshold.
src/java.base/unix/classes/sun/nio/fs/UnixCopyFile.java line 276:
> 274: long bss = Files.getFileStore(source).getBlockSize();
> 275: long bst = Files.getFileStore(target).getBlockSize();
> 276: if (bss > 0 && bst > 0) {
This should be UnixFileStoreAttributes.get(source).blockSize() to avoid calling from the provider to the API or needing to create a FileStore.
-------------
PR: https://git.openjdk.org/jdk/pull/9161
More information about the nio-dev
mailing list