aboutsummaryrefslogtreecommitdiff
path: root/weed/server/master_grpc_server_volume.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-11-28 23:18:02 -0800
committerChris Lu <chris.lu@gmail.com>2020-11-28 23:18:02 -0800
commit965413c21bfcc7339ecec008828c3b11fbda6d7d (patch)
tree22070b6e158578c4b1a1d3f99aa269fd39b6332c /weed/server/master_grpc_server_volume.go
parent96c48bc8a8acb578138ddf696d6788baed6ed899 (diff)
downloadseaweedfs-965413c21bfcc7339ecec008828c3b11fbda6d7d.tar.xz
seaweedfs-965413c21bfcc7339ecec008828c3b11fbda6d7d.zip
shell: add volume.vacuum command
Diffstat (limited to 'weed/server/master_grpc_server_volume.go')
-rw-r--r--weed/server/master_grpc_server_volume.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/weed/server/master_grpc_server_volume.go b/weed/server/master_grpc_server_volume.go
index 03b718291..20a22d126 100644
--- a/weed/server/master_grpc_server_volume.go
+++ b/weed/server/master_grpc_server_volume.go
@@ -177,3 +177,16 @@ func (ms *MasterServer) LookupEcVolume(ctx context.Context, req *master_pb.Looku
return resp, nil
}
+
+func (ms *MasterServer) VacuumVolume(ctx context.Context, req *master_pb.VacuumVolumeRequest) (*master_pb.VacuumVolumeResponse, error) {
+
+ if !ms.Topo.IsLeader() {
+ return nil, raft.NotLeaderError
+ }
+
+ resp := &master_pb.VacuumVolumeResponse{}
+
+ ms.Topo.Vacuum(ms.grpcDialOption, float64(req.GarbageThreshold), ms.preallocateSize)
+
+ return resp, nil
+}