From 229f0f89c894bd1b1ed71af8752023c612bae9a4 Mon Sep 17 00:00:00 2001 From: evan slack <51209817+evanofslack@users.noreply.github.com> Date: Mon, 16 Feb 2026 06:08:12 -0500 Subject: [PATCH] perf(read): Remove unecessary allocation in read_xl_meta_no_data (#1846) Co-authored-by: houseme Co-authored-by: loverustfs --- crates/filemeta/src/filemeta.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/crates/filemeta/src/filemeta.rs b/crates/filemeta/src/filemeta.rs index cdfbeec4e..0d8a4778b 100644 --- a/crates/filemeta/src/filemeta.rs +++ b/crates/filemeta/src/filemeta.rs @@ -2712,7 +2712,8 @@ pub async fn read_xl_meta_no_data(reader: &mut R, size: us if minor < 2 { read_more(reader, &mut buf, size, want, has_full).await?; - return Ok(buf[..want].to_vec()); + buf.truncate(want); + return Ok(buf); } let want_max = usize::min(want + MSGP_UINT32_SIZE, size); @@ -2728,7 +2729,8 @@ pub async fn read_xl_meta_no_data(reader: &mut R, size: us want += tmp.len() - other_size; - Ok(buf[..want].to_vec()) + buf.truncate(want); + Ok(buf) } _ => Err(Error::other(std::io::Error::new( std::io::ErrorKind::InvalidData,