RFR: 6980847: (fs) Files.copy needs to be tuned [v9]

Alan Bateman alanb at openjdk.org
Wed Jun 22 16:50:58 UTC 2022


On Wed, 22 Jun 2022 16:00:45 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.
>
> Brian Burkhalter has updated the pull request incrementally with one additional commit since the last revision:
> 
>   6980847: Remove use of Files.size()

src/java.base/windows/classes/sun/nio/fs/WindowsFileCopy.java line 188:

> 186:             final int flags = ((!followLinks) ? COPY_FILE_COPY_SYMLINK : 0) |
> 187:                               ((sourceAttrs.size() > UNBUFFERED_IO_THRESHOLD) ?
> 188:                                   COPY_FILE_NO_BUFFERING : 0);

Would this be easier to read:


        int flags = (followLinks) ? 0 : COPY_FILE_COPY_SYMLINK;
        if (sourceAttrs.size() > UNBUFFERED_IO_THRESHOLD) {
            flags |= COPY_FILE_NO_BUFFERING;
        }

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

PR: https://git.openjdk.org/jdk/pull/9161


More information about the nio-dev mailing list