aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-10-08 21:55:55 -0700
committerChris Lu <chris.lu@gmail.com>2020-10-08 21:55:55 -0700
commitb06785316264a63f8a1dc926ddf1a5f6cc6b7926 (patch)
tree70af6db3adb491e031163884649b094b59fb8e82
parente1a8e3f9004c81c3ac992a02532ace38cace9a17 (diff)
downloadseaweedfs-b06785316264a63f8a1dc926ddf1a5f6cc6b7926.tar.xz
seaweedfs-b06785316264a63f8a1dc926ddf1a5f6cc6b7926.zip
mount: ignore recursion error
fix https://github.com/chrislusf/seaweedfs/issues/1514 the host OS should manage recursive deletion.
-rw-r--r--weed/filesys/dir.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go
index 574749ef0..4dede3a8b 100644
--- a/weed/filesys/dir.go
+++ b/weed/filesys/dir.go
@@ -354,7 +354,8 @@ func (dir *Dir) removeOneFile(req *fuse.RemoveRequest) error {
func (dir *Dir) removeFolder(req *fuse.RemoveRequest) error {
glog.V(3).Infof("remove directory entry: %v", req)
- err := filer_pb.Remove(dir.wfs, dir.FullPath(), req.Name, true, false, false, false, []int32{dir.wfs.signature})
+ 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})
if err != nil {
glog.V(0).Infof("remove %s/%s: %v", dir.FullPath(), req.Name, err)
if strings.Contains(err.Error(), "non-empty") {