diff options
| author | Chris Lu <chris.lu@gmail.com> | 2019-05-30 09:47:54 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2019-05-30 09:47:54 -0700 |
| commit | 40ca2f2903c2b95aa4dd2101598f0dbdd2024d07 (patch) | |
| tree | 1171a40d065f457a85133b08353e29970f06ccc9 /weed/storage/erasure_coding | |
| parent | 1d111d6ce80727f2c0a25b36b85102d5cb5ae612 (diff) | |
| download | seaweedfs-40ca2f2903c2b95aa4dd2101598f0dbdd2024d07.tar.xz seaweedfs-40ca2f2903c2b95aa4dd2101598f0dbdd2024d07.zip | |
add collection.delete
Diffstat (limited to 'weed/storage/erasure_coding')
| -rw-r--r-- | weed/storage/erasure_coding/ec_shard.go | 4 | ||||
| -rw-r--r-- | weed/storage/erasure_coding/ec_volume.go | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/weed/storage/erasure_coding/ec_shard.go b/weed/storage/erasure_coding/ec_shard.go index 037c4ba48..687a582a7 100644 --- a/weed/storage/erasure_coding/ec_shard.go +++ b/weed/storage/erasure_coding/ec_shard.go @@ -64,6 +64,10 @@ func (shard *EcVolumeShard) Close() { } } +func (shard *EcVolumeShard) Destroy() { + os.Remove(shard.FileName() + ToExt(int(shard.ShardId))) +} + func (shard *EcVolumeShard) ReadAt(buf []byte, offset int64) (int, error) { return shard.ecdFile.ReadAt(buf, offset) diff --git a/weed/storage/erasure_coding/ec_volume.go b/weed/storage/erasure_coding/ec_volume.go index 32f66260a..28dbd8c7f 100644 --- a/weed/storage/erasure_coding/ec_volume.go +++ b/weed/storage/erasure_coding/ec_volume.go @@ -94,6 +94,17 @@ func (ev *EcVolume) Close() { } } +func (ev *EcVolume) Destroy() { + + ev.Close() + + baseFileName := EcShardFileName(ev.Collection, ev.dir, int(ev.VolumeId)) + for _, s := range ev.Shards { + s.Destroy() + } + os.Remove(baseFileName + ".ecx") +} + func (ev *EcVolume) ToVolumeEcShardInformationMessage() (messages []*master_pb.VolumeEcShardInformationMessage) { prevVolumeId := needle.VolumeId(math.MaxUint32) var m *master_pb.VolumeEcShardInformationMessage |
