It seems to try, at least
https://github.com/coreutils/coreutils/blob/master/src/cat.c...
- >=9.1 (2022-04-15) : Use the `copy_file_range()` syscall and let the kernel figure it out
- >=8.23 (2014-07-18) : max(128KiB, st_blksize(infile), st_blksize(outfile))
- >=8.17 (2012-05-10) : max(64KiB, st_blksize(infile), st_blksize(outfile))
- >=7.2 (2009-03-31) : max(32KiB, st_blksize(infile), st_blksize(outfile))
- at least as far back as 1996 : max(st_blksize(infile), st_blksize(outfile))
(In my psuedo-code, `st_blksize(fd)` is the `ST_BLKSIZE(buf)` of the result of `fstat(fd, buf)`.)
It seems to try, at least
https://github.com/coreutils/coreutils/blob/master/src/cat.c...