aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-04-15 01:51:10 -0700
committerChris Lu <chris.lu@gmail.com>2021-04-15 01:51:10 -0700
commit217e0f906623a6d2f25f4dce7280d16bf3786a72 (patch)
tree52602a0d3f130130044808ba15ae7ad7d7b21032
parent3e669e6d7b57387ea3b77ab2af9edc3f80c4dae2 (diff)
downloadseaweedfs-217e0f906623a6d2f25f4dce7280d16bf3786a72.tar.xz
seaweedfs-217e0f906623a6d2f25f4dce7280d16bf3786a72.zip
mount: remove folder recursively
-rw-r--r--weed/filesys/dir.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go
index bf192f384..ed8ffff61 100644
--- a/weed/filesys/dir.go
+++ b/weed/filesys/dir.go
@@ -436,18 +436,19 @@ func (dir *Dir) removeOneFile(req *fuse.RemoveRequest) error {
func (dir *Dir) removeFolder(req *fuse.RemoveRequest) error {
+ dirFullPath := dir.FullPath()
glog.V(3).Infof("remove directory entry: %v", req)
ignoreRecursiveErr := true // ignore recursion error since the OS should manage it
- err := filer_pb.Remove(dir.wfs, dir.FullPath(), req.Name, true, false, ignoreRecursiveErr, false, []int32{dir.wfs.signature})
+ err := filer_pb.Remove(dir.wfs, dirFullPath, req.Name, true, true, ignoreRecursiveErr, false, []int32{dir.wfs.signature})
if err != nil {
- glog.V(0).Infof("remove %s/%s: %v", dir.FullPath(), req.Name, err)
+ glog.V(0).Infof("remove %s/%s: %v", dirFullPath, req.Name, err)
if strings.Contains(err.Error(), "non-empty") {
return fuse.EEXIST
}
return fuse.ENOENT
}
- t := util.NewFullPath(dir.FullPath(), req.Name)
+ t := util.NewFullPath(dirFullPath, req.Name)
dir.wfs.metaCache.DeleteEntry(context.Background(), t)
dir.wfs.fsNodeCache.DeleteFsNode(t)