summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/runner/runc/run.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/runner/runc/run.rs b/src/runner/runc/run.rs
index f12e91f..76c8bc1 100644
--- a/src/runner/runc/run.rs
+++ b/src/runner/runc/run.rs
@@ -1,5 +1,6 @@
use std::{
collections::HashMap,
+ io::BufWriter,
path::{Path, PathBuf},
process,
};
@@ -166,8 +167,10 @@ fn collect_one_output(task: &runner::Task, path: &str) -> Result<Option<ArchiveH
let file = fs::create(&filename)?;
let hasher = ArchiveHasher::new();
let writer = TeeWriter::new(file, hasher);
+ let buffered_writer = BufWriter::with_capacity(16 * 1024 * 1024, writer);
- let writer = tar::pack(writer, &source, ["."])?;
+ let buffered_writer = tar::pack(buffered_writer, &source, ["."])?;
+ let writer = buffered_writer.into_inner()?;
let (file, hasher) = writer.into_inner();
file.sync_all()?;
drop(file);