diff options
| author | Jim Meyering <meyering@redhat.com> | 2011-01-27 17:30:08 +0100 |
|---|---|---|
| committer | Jim Meyering <meyering@redhat.com> | 2011-01-29 09:41:07 +0100 |
| commit | 33f4a4a549afb3de94e546091c91586a1ece67ba (patch) | |
| tree | 31dbf30626d9b31f516a8cb454d806cbe808d3c9 | |
| parent | fiemap copy: simplify post-loop logic; improve comments (diff) | |
| download | coreutils-33f4a4a549afb3de94e546091c91586a1ece67ba.tar.gz coreutils-33f4a4a549afb3de94e546091c91586a1ece67ba.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 |
