mirror of
https://git.proxmox.com/git/proxmox-backup-qemu
synced 2025-10-19 09:29:11 +00:00
handle known chunks
This commit is contained in:
parent
d50d567b9b
commit
64100fed29
28
src/lib.rs
28
src/lib.rs
@ -267,20 +267,26 @@ async fn write_data(
|
|||||||
let digest = chunk_builder.digest();
|
let digest = chunk_builder.digest();
|
||||||
let digest_str = proxmox::tools::digest_to_hex(digest);
|
let digest_str = proxmox::tools::digest_to_hex(digest);
|
||||||
|
|
||||||
// fixme: handle known chunks
|
let chunk_is_known = known_chunks.lock().unwrap().contains(digest);
|
||||||
|
|
||||||
let chunk = chunk_builder.build()?;
|
if chunk_is_known {
|
||||||
let chunk_data = chunk.into_raw();
|
digest_str
|
||||||
|
} else {
|
||||||
|
let digest = *digest;
|
||||||
|
let chunk = chunk_builder.build()?;
|
||||||
|
let chunk_data = chunk.into_raw();
|
||||||
|
|
||||||
let param = json!({
|
let param = json!({
|
||||||
"wid": wid,
|
"wid": wid,
|
||||||
"digest": digest_str,
|
"digest": digest_str,
|
||||||
"size": size,
|
"size": size,
|
||||||
"encoded-size": chunk_data.len(),
|
"encoded-size": chunk_data.len(),
|
||||||
});
|
});
|
||||||
|
|
||||||
client.upload_post("fixed_chunk", Some(param), "application/octet-stream", chunk_data).await?;
|
client.upload_post("fixed_chunk", Some(param), "application/octet-stream", chunk_data).await?;
|
||||||
digest_str
|
known_chunks.lock().unwrap().insert(digest);
|
||||||
|
digest_str
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
let append_list = {
|
let append_list = {
|
||||||
|
Loading…
Reference in New Issue
Block a user