On Wed, Feb 24, 2021 at 11:16 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Chris Torek <chris.torek@xxxxxxxxx> writes: > > > Linux/BSD/etc `stat` system calls report st_blksize values to tell > > user code the optimal size for read and write calls. Does Windows > > have one? (It's not POSIX but is XSI.) > > > > (How *well* the OS reports `st_blksize` is another question > > entirely, but at least if the report says, say, 128k, and that's > > wrong, that's no longer Git's fault. :-) ) > > ... > > 128K is correct for ZFS; 64K is typically correct for UFS2; 8K is > > the old UFS1 size. Anything under that has been too small for > > a long time. :-) > > That's rather tempting. After opening a locked index to write > things out, the value is a single fstat() away... > >From a quick perusal of freebsd, st_blksize seems to be the system PAGE_SIZE by default (4k most of the time, I assume). The Windows equivalent of this value is really tuned to what you want to send down when bypassing the cache (to avoid partial cluster/stripe writes). https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html doesn't elicit much confidence. The units of st_blksize aren't even defined. Thanks, Neeraj