aboutsummaryrefslogtreecommitdiff
path: root/go/storage/volume.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2014-03-10 11:43:54 -0700
committerChris Lu <chris.lu@gmail.com>2014-03-10 11:43:54 -0700
commitcd10c277b2146a7d01449dfe8825e7f1f12d7d7d (patch)
tree3f9bb75988e50aa2ddfc492fd45d27c6a748680f /go/storage/volume.go
parenta121453188f14ac3580bf61b47268bf029d61390 (diff)
downloadseaweedfs-cd10c277b2146a7d01449dfe8825e7f1f12d7d7d.tar.xz
seaweedfs-cd10c277b2146a7d01449dfe8825e7f1f12d7d7d.zip
can now delete a collection! Is this a dangerous feature? Only enabling
deleting "benchmark" collections for now.
Diffstat (limited to 'go/storage/volume.go')
-rw-r--r--go/storage/volume.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/go/storage/volume.go b/go/storage/volume.go
index 69817a6d4..0301d7968 100644
--- a/go/storage/volume.go
+++ b/go/storage/volume.go
@@ -197,6 +197,21 @@ func (v *Volume) isFileUnchanged(n *Needle) bool {
}
return false
}
+
+func (v *Volume) Destroy() (err error) {
+ if v.readOnly {
+ err = fmt.Errorf("%s is read-only", v.dataFile)
+ return
+ }
+ v.Close()
+ err = os.Remove(v.dataFile.Name())
+ if err != nil {
+ return
+ }
+ err = v.nm.Destroy()
+ return
+}
+
func (v *Volume) write(n *Needle) (size uint32, err error) {
if v.readOnly {
err = fmt.Errorf("%s is read-only", v.dataFile)