summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2011-01-31 22:04:35 +0000
committerPádraig Brady <P@draigBrady.com>2011-01-31 23:21:04 +0000
commit84e5274f7e6a01044d51f1cfad8b2c2c2ed5eb23 (patch)
tree5a01249b21516b5b34a7f7a912acaf4f25496b34
parentf8f57dd76ba98793e131a88beb138a32d54e0aa9 (diff)
downloadcoreutils-84e5274f7e6a01044d51f1cfad8b2c2c2ed5eb23.tar.xz
cp: fix the buffer size used 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.
-rw-r--r--src/copy.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/copy.c b/src/copy.c
index 04c678d16..f429c006e 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;