diff --git a/crates/ecstore/src/core/pools.rs b/crates/ecstore/src/core/pools.rs
index b354165c1..6f0439101 100644
--- a/crates/ecstore/src/core/pools.rs
+++ b/crates/ecstore/src/core/pools.rs
@@ -5282,13 +5282,12 @@ impl ECStore {
"decommission multipart drain lost the bucket lifecycle fence for `{bucket}`"
)));
}
- }
-
- for set in &pool.disk_set {
- if let Some(upload_path) = set.first_multipart_upload_path_for_decommission().await? {
- return Err(Error::other(format!(
- "pool {idx} still contains multipart upload `{upload_path}`; resolve it before retrying decommission"
- )));
+ for set in &pool.disk_set {
+ if let Some(upload_path) = set.first_multipart_upload_path_for_decommission(bucket).await? {
+ return Err(Error::other(format!(
+ "pool {idx} still contains multipart upload `{upload_path}` for bucket `{bucket}`; resolve it before retrying decommission"
+ )));
+ }
}
}
diff --git a/crates/ecstore/src/set_disk/ops/multipart.rs b/crates/ecstore/src/set_disk/ops/multipart.rs
index 5deb93d8d..77239f6a9 100644
--- a/crates/ecstore/src/set_disk/ops/multipart.rs
+++ b/crates/ecstore/src/set_disk/ops/multipart.rs
@@ -612,9 +612,9 @@ impl SetDisks {
Ok((disks, candidate_paths, discovery_quorum))
}
- pub(crate) async fn first_multipart_upload_path_for_decommission(&self) -> Result