Fixes: #8928
This can happen if the stripe size is not a multiple of the chunk size.
Backport: firefly
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit
14cad5ece7d1de9d93e72acca6d4c3b4a9cfcfa2)
}
}
+ uint64_t max_write_size = MIN(max_chunk_size, (uint64_t)next_part_ofs - data_ofs);
+
pending_data_bl.claim_append(bl);
- if (pending_data_bl.length() < max_chunk_size)
+ if (pending_data_bl.length() < max_write_size)
return 0;
- pending_data_bl.splice(0, max_chunk_size, &bl);
+ pending_data_bl.splice(0, max_write_size, &bl);
if (!data_ofs && !immutable_head()) {
first_chunk.claim(bl);