From: Igor Fedotov Date: Mon, 25 Aug 2025 11:36:34 +0000 (+0300) Subject: erasure-code: make bufferlist contiguous in ErasureCode::encode_prepare X-Git-Tag: v21.0.0~157^2~142^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3b4ea0f44c141607e0ae04ca2cd2ce1ab58be3ea;p=ceph.git erasure-code: make bufferlist contiguous in ErasureCode::encode_prepare Fixes: https://tracker.ceph.com/issues/72710 Signed-off-by: Igor Fedotov --- diff --git a/src/erasure-code/ErasureCode.cc b/src/erasure-code/ErasureCode.cc index f3433c430f2c..9c4af59078c5 100644 --- a/src/erasure-code/ErasureCode.cc +++ b/src/erasure-code/ErasureCode.cc @@ -247,7 +247,7 @@ int ErasureCode::encode_prepare(const bufferlist &raw, for (unsigned int i = 0; i < k - padded_chunks; i++) { bufferlist &chunk = encoded[chunk_index(i)]; chunk.substr_of(prepared, i * blocksize, blocksize); - chunk.rebuild_aligned_size_and_memory(blocksize, SIMD_ALIGN); + chunk.rebuild_aligned_size_and_memory(blocksize, SIMD_ALIGN, 1); ceph_assert(chunk.is_contiguous()); } if (padded_chunks) { @@ -285,7 +285,7 @@ int ErasureCode::encode_prepare(const bufferlist &raw, for (raw_shard_id_t i; i < k - padded_chunks; ++i) { bufferlist &chunk = encoded[chunk_index(i)]; chunk.substr_of(prepared, (int)i * blocksize, blocksize); - chunk.rebuild_aligned_size_and_memory(blocksize, SIMD_ALIGN); + chunk.rebuild_aligned_size_and_memory(blocksize, SIMD_ALIGN, 1); ceph_assert(chunk.is_contiguous()); } if (padded_chunks) {