From 40993383b0c315068e694ca40a0ccd4e598dd231 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Tue, 17 Mar 2026 13:34:15 -0700 Subject: [PATCH] Match Go VolumeDelete: propagate only_empty to delete_volume for defense in depth The gRPC VolumeDelete handler had a pre-check for only_empty but then passed false to store.delete_volume(), bypassing the store-level check. Go passes req.OnlyEmpty directly to DeleteVolume. Now Rust does the same for defense in depth against TOCTOU races (though the store write lock makes this unlikely). --- seaweed-volume/src/server/grpc_server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seaweed-volume/src/server/grpc_server.rs b/seaweed-volume/src/server/grpc_server.rs index 26e2a89ec..ab4577acc 100644 --- a/seaweed-volume/src/server/grpc_server.rs +++ b/seaweed-volume/src/server/grpc_server.rs @@ -653,7 +653,7 @@ impl VolumeServer for VolumeGrpcService { } } store - .delete_volume(vid, false) + .delete_volume(vid, req.only_empty) .map_err(|e| Status::internal(e.to_string()))?; Ok(Response::new(volume_server_pb::VolumeDeleteResponse {})) }