From 83ac391603a90d239a3491df2c0cdf3f80a61734 Mon Sep 17 00:00:00 2001 From: weisd Date: Sun, 29 Dec 2024 08:51:25 +0800 Subject: [PATCH] fix multipart upload etag --- ecstore/src/set_disk.rs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ecstore/src/set_disk.rs b/ecstore/src/set_disk.rs index b7b19f990..73c646249 100644 --- a/ecstore/src/set_disk.rs +++ b/ecstore/src/set_disk.rs @@ -4586,13 +4586,20 @@ impl StorageAPI for SetDisks { } // etag + let etag = { + if let Some(etag) = opts.user_defined.get("etag") { + etag.clone() + } else { + get_complete_multipart_md5(&uploaded_parts) + } + }; if let Some(metadata) = fi.metadata.as_mut() { - if let Some(etag) = opts.user_defined.get("etag") { - metadata.insert("etag".to_owned(), etag.clone()); - } else { - metadata.insert("etag".to_owned(), get_complete_multipart_md5(&uploaded_parts)); - } + metadata.insert("etag".to_owned(), etag); + } else { + let mut metadata = HashMap::with_capacity(1); + metadata.insert("etag".to_owned(), etag); + fi.metadata = Some(metadata); } // TODO: object_actual_size