mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-22 04:16:38 +00:00
feat(append): implement object append operations with state tracking (#599)
* feat(append): implement object append operations with state tracking Signed-off-by: junxiang Mu <1948535941@qq.com> * chore: rebase Signed-off-by: junxiang Mu <1948535941@qq.com> --------- Signed-off-by: junxiang Mu <1948535941@qq.com>
This commit is contained in:
@@ -167,8 +167,19 @@ async fn write_data_blocks<W>(
|
||||
where
|
||||
W: tokio::io::AsyncWrite + Send + Sync + Unpin,
|
||||
{
|
||||
if get_data_block_len(en_blocks, data_blocks) < length {
|
||||
error!("write_data_blocks get_data_block_len < length");
|
||||
let available = get_data_block_len(en_blocks, data_blocks);
|
||||
if available < length {
|
||||
let block_sizes: Vec<usize> = en_blocks
|
||||
.iter()
|
||||
.take(data_blocks)
|
||||
.map(|block| block.as_ref().map(|buf| buf.len()).unwrap_or(0))
|
||||
.collect();
|
||||
error!(
|
||||
expected = length,
|
||||
available,
|
||||
?block_sizes,
|
||||
"write_data_blocks get_data_block_len < length"
|
||||
);
|
||||
return Err(io::Error::new(ErrorKind::UnexpectedEof, "Not enough data blocks to write"));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user