diff options
| author | Chris Lu <chris.lu@gmail.com> | 2019-06-21 01:14:10 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2019-06-21 01:14:10 -0700 |
| commit | f88a8bda7bbc58ce14fc45235085f71a7e1831ad (patch) | |
| tree | 928f48aee4694af0b25ba4e07cdbf4ae6020d6e3 /weed/server/volume_grpc_erasure_coding.go | |
| parent | 613a2e8060c41aab7e58623b8f22b8ed87493b41 (diff) | |
| download | seaweedfs-f88a8bda7bbc58ce14fc45235085f71a7e1831ad.tar.xz seaweedfs-f88a8bda7bbc58ce14fc45235085f71a7e1831ad.zip | |
ec deletion works
Diffstat (limited to 'weed/server/volume_grpc_erasure_coding.go')
| -rw-r--r-- | weed/server/volume_grpc_erasure_coding.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/weed/server/volume_grpc_erasure_coding.go b/weed/server/volume_grpc_erasure_coding.go index 58eefc6dc..8140a06f6 100644 --- a/weed/server/volume_grpc_erasure_coding.go +++ b/weed/server/volume_grpc_erasure_coding.go @@ -234,6 +234,15 @@ func (vs *VolumeServer) VolumeEcShardRead(req *volume_server_pb.VolumeEcShardRea return fmt.Errorf("not found ec shard %d.%d", req.VolumeId, req.ShardId) } + if req.FileKey != 0 { + _, size, _ := ecVolume.FindNeedleFromEcx(types.Uint64ToNeedleId(req.FileKey)) + if size == types.TombstoneFileSize { + return stream.Send(&volume_server_pb.VolumeEcShardReadResponse{ + IsDeleted: true, + }) + } + } + bufSize := req.Size if bufSize > BufferSizeLimit { bufSize = BufferSizeLimit |
