mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-27 15:37:02 +00:00
fix zero size object bug
Signed-off-by: junxiang Mu <1948535941@qq.com>
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ impl Erasure {
|
|||||||
{
|
{
|
||||||
let (tx, mut rx) = mpsc::channel(5);
|
let (tx, mut rx) = mpsc::channel(5);
|
||||||
let task = tokio::spawn(async move {
|
let task = tokio::spawn(async move {
|
||||||
let mut buf = Vec::new();
|
let mut buf = vec![0u8; self.block_size];
|
||||||
let mut total: usize = 0;
|
let mut total: usize = 0;
|
||||||
loop {
|
loop {
|
||||||
if total_size > 0 {
|
if total_size > 0 {
|
||||||
@@ -99,6 +99,9 @@ impl Erasure {
|
|||||||
}
|
}
|
||||||
let blocks = Arc::new(Box::pin(self.clone().encode_data(&buf)?));
|
let blocks = Arc::new(Box::pin(self.clone().encode_data(&buf)?));
|
||||||
let _ = tx.send(blocks).await;
|
let _ = tx.send(blocks).await;
|
||||||
|
if total_size == 0 {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
let etag = reader.etag().await;
|
let etag = reader.etag().await;
|
||||||
Ok((total, etag))
|
Ok((total, etag))
|
||||||
@@ -129,10 +132,6 @@ impl Erasure {
|
|||||||
warn!("Erasure encode errs {:?}", &errs);
|
warn!("Erasure encode errs {:?}", &errs);
|
||||||
return Err(err);
|
return Err(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
if total_size == 0 {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
task.await?
|
task.await?
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user