Another buglet: commit 4a64fd8efe00629b0424bb59c8ec8d9d3ef4542f Author: Pádraig Brady <p...@draigbrady.com> Date: Mon Jan 31 22:04:35 2011 +0000
cp: use a bigger buffer size when writing zeros * src/copy.c (write_zeros): This bug caused 4 or 8 bytes to be written at a time which is very inefficient. One could trigger the issue with `cp --sparse=never sparse non-sparse` on a file system that supports fiemap. diff --git a/src/copy.c b/src/copy.c index 4e73e1b..65c18f4 100644 --- a/src/copy.c +++ b/src/copy.c @@ -291,7 +291,7 @@ write_zeros (int fd, uint64_t n_bytes) while (n_bytes) { - uint64_t n = MIN (sizeof nz, n_bytes); + uint64_t n = MIN (nz, n_bytes); if ((full_write (fd, zeros, n)) != n) return false; n_bytes -= n;