diff --git a/runtime/src/snapshot_utils.rs b/runtime/src/snapshot_utils.rs index 54b928308069b3..6361ac4b81212d 100644 --- a/runtime/src/snapshot_utils.rs +++ b/runtime/src/snapshot_utils.rs @@ -16,7 +16,7 @@ use { RebuiltSnapshotStorage, SnapshotStorageRebuilder, }, }, - bzip2::bufread::BzDecoder, + bzip2::read::BzDecoder, crossbeam_channel::Sender, flate2::read::GzDecoder, log::*, @@ -2313,15 +2313,14 @@ fn untar_snapshot_create_shared_buffer( }) .unwrap() }; + // Apply buffered reader for decoders that do not buffer internally. match archive_format { - ArchiveFormat::TarBzip2 => SharedBuffer::new(BzDecoder::new(BufReader::new(open_file()))), - ArchiveFormat::TarGzip => SharedBuffer::new(GzDecoder::new(BufReader::new(open_file()))), - ArchiveFormat::TarZstd { .. } => SharedBuffer::new( - zstd::stream::read::Decoder::new(BufReader::new(open_file())).unwrap(), - ), - ArchiveFormat::TarLz4 => { - SharedBuffer::new(lz4::Decoder::new(BufReader::new(open_file())).unwrap()) + ArchiveFormat::TarBzip2 => SharedBuffer::new(BzDecoder::new(open_file())), + ArchiveFormat::TarGzip => SharedBuffer::new(GzDecoder::new(open_file())), + ArchiveFormat::TarZstd { .. } => { + SharedBuffer::new(zstd::stream::read::Decoder::new(open_file()).unwrap()) } + ArchiveFormat::TarLz4 => SharedBuffer::new(lz4::Decoder::new(open_file()).unwrap()), ArchiveFormat::Tar => SharedBuffer::new(BufReader::new(open_file())), } }