aboutsummaryrefslogtreecommitdiff
path: root/go/filer/filer_embedded.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2014-04-09 21:01:48 -0700
committerChris Lu <chris.lu@gmail.com>2014-04-09 21:01:48 -0700
commit5f4dc1140974d0481921337cd53c692a15acabe6 (patch)
treef424bc3b3def30c3167a4399f2c96ef3ae60f5b9 /go/filer/filer_embedded.go
parentabde40377c74a0580e4821e21ef2402900b81d60 (diff)
downloadseaweedfs-5f4dc1140974d0481921337cd53c692a15acabe6.tar.xz
seaweedfs-5f4dc1140974d0481921337cd53c692a15acabe6.zip
1. root dir has id of 0
2. only delete empty folders 3. correct listing files under a folder
Diffstat (limited to 'go/filer/filer_embedded.go')
-rw-r--r--go/filer/filer_embedded.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/go/filer/filer_embedded.go b/go/filer/filer_embedded.go
index b1ef38be4..12783bc37 100644
--- a/go/filer/filer_embedded.go
+++ b/go/filer/filer_embedded.go
@@ -1,6 +1,7 @@
package filer
import (
+ "fmt"
"path/filepath"
)
@@ -52,6 +53,13 @@ func (filer *FilerEmbedded) ListFiles(dirPath string, lastFileName string, limit
return filer.files.ListFiles(dirId, lastFileName, limit), nil
}
func (filer *FilerEmbedded) DeleteDirectory(dirPath string) (err error) {
+ dirId, e := filer.directories.FindDirectory(dirPath)
+ if e != nil {
+ return e
+ }
+ if len(filer.files.ListFiles(dirId, "", 1)) > 0 {
+ return fmt.Errorf("Fail to delete non-empty directory %s!", dirPath)
+ }
return filer.directories.DeleteDirectory(dirPath)
}
func (filer *FilerEmbedded) DeleteFile(filePath string) (fid string, err error) {