From 119192ca75e732d88e3abcaefad535864951a311 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Tue, 17 Mar 2026 14:35:54 -0700 Subject: [PATCH] Match Go VolumeCopy: reject when no suitable disk location exists Go returns ErrVolumeNoSpaceLeft when no location matches the disk type and has sufficient space. Rust had an unsafe fallback that silently picked the first location regardless of type or available space. --- seaweed-volume/src/server/grpc_server.rs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/seaweed-volume/src/server/grpc_server.rs b/seaweed-volume/src/server/grpc_server.rs index e400baaaa..edfc75d07 100644 --- a/seaweed-volume/src/server/grpc_server.rs +++ b/seaweed-volume/src/server/grpc_server.rs @@ -944,11 +944,6 @@ impl VolumeServer for VolumeGrpcService { } } } - // Fallback: use first location if no disk type match - if found.is_none() && !store.locations.is_empty() { - let loc = &store.locations[0]; - found = Some((loc.directory.clone(), loc.idx_directory.clone())); - } found.ok_or_else(|| Status::internal(format!("no space left {}", disk_type)))? };