diff --git a/src/osdc/Striper.cc b/src/osdc/Striper.cc index 4395106eceef1..9cd4697830778 100644 --- a/src/osdc/Striper.cc +++ b/src/osdc/Striper.cc @@ -369,7 +369,9 @@ void Striper::StripedReadResult::assemble_result(CephContext *cct, size_t len = p->second.first.length(); if (len < p->second.second) { if (zero_tail || bl.length()) { - bl.append_zero(p->second.second - len); + bufferptr bp(p->second.second - len); + bp.zero(); + bl.push_front(std::move(bp)); bl.claim_prepend(p->second.first); } else { bl.claim_prepend(p->second.first);