Allan Jude proposed D36194 to fix vn_generic_copy_file_range(),
which only uses a 512byte blksize. Although his patch
fixes the blksize problem, I realized that the calculation
would appear to be "magic math" to code readers.
During simple benchmarking, using f_iosize appears to
perform as well or slightly better than 1Mbyte, so this
patch uses f_iosize for ZFS and usually for other file
systems.
The main difference with this patch is that it includes
rationale for the two cases, so hopefully the calculation
will make sense to source code readers/maintainers.
I did review D36194 and I do not care which patch gets committed.