From 0f707cdb25792d003d0cabb9df20428ebc34548d Mon Sep 17 00:00:00 2001 From: electricboogie <32370782+electricboogie@users.noreply.github.com> Date: Sun, 25 Apr 2021 16:33:12 -0500 Subject: [PATCH] Adjust max buffer size for read back as well --- src/uu/sort/src/external_sort/mod.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/uu/sort/src/external_sort/mod.rs b/src/uu/sort/src/external_sort/mod.rs index 222da5b58..fae00fb72 100644 --- a/src/uu/sort/src/external_sort/mod.rs +++ b/src/uu/sort/src/external_sort/mod.rs @@ -181,7 +181,7 @@ where for seq in unsorted { let seq_size = seq.get_size(); total_read += seq_size; - // Grow buffer size for a Line larger than buffer + // Grow buffer size for a struct/Line larger than buffer adjusted_buffer_size = if adjusted_buffer_size < seq_size { seq_size @@ -212,10 +212,9 @@ where } // initialize buffers for each chunk - iter.max_per_chunk = self - .buffer_bytes + iter.max_per_chunk = adjusted_buffer_size .checked_div(iter.chunks) - .unwrap_or(self.buffer_bytes); + .unwrap_or(adjusted_buffer_size); iter.buffers = vec![VecDeque::new(); iter.chunks as usize]; iter.chunk_offsets = vec![0 as u64; iter.chunks as usize]; for chunk_num in 0..iter.chunks {