diff options
| author | Jim Meyering <meyering@redhat.com> | 2011-01-27 17:30:08 +0100 |
|---|---|---|
| committer | Jim Meyering <meyering@redhat.com> | 2011-01-29 17:05:28 +0100 |
| commit | 4d64bef1d630e356871d04aeda007a957719088d (patch) | |
| tree | 4fd68f30dd1732e0d392704465de7f2886be7cef | |
| parent | fiemap copy: simplify post-loop logic; improve comments (diff) | |
| download | coreutils-4d64bef1d630e356871d04aeda007a957719088d.tar.gz coreutils-4d64bef1d630e356871d04aeda007a957719088d.zip | |
fiemap copy: avoid a performance hit due to very small buffer
* src/copy.c (extent_copy): Don't let what should have been a
temporary reduction of buf_size (to handle a short ext_len) become
permanent and thus impact the performance of all further iterations.
| -rw-r--r-- | src/copy.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/copy.c b/src/copy.c index ab18a76b4..9a3a8f7a6 100644 --- a/src/copy.c +++ b/src/copy.c @@ -270,9 +270,8 @@ extent_copy (int src_fd, int dest_fd, char *buf, size_t buf_size, { /* Don't read from a following hole if EXT_LEN is smaller than the buffer size. */ - buf_size = MIN (ext_len, buf_size); - - ssize_t n_read = read (src_fd, buf, buf_size); + size_t b_size = MIN (ext_len, buf_size); + ssize_t n_read = read (src_fd, buf, b_size); if (n_read < 0) { #ifdef EINTR |
