aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys/dir.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-05-02 01:11:53 -0700
committerChris Lu <chris.lu@gmail.com>2020-05-02 01:11:53 -0700
commit97a504b0bb8c7902f3ee26e42146fc08de3eeafd (patch)
tree0925efbba0422c9943edc4e2cc5ecce4c025c4b0 /weed/filesys/dir.go
parent78422c2f694c124da13c6289ad3ce8c31d33e38a (diff)
downloadseaweedfs-97a504b0bb8c7902f3ee26e42146fc08de3eeafd.tar.xz
seaweedfs-97a504b0bb8c7902f3ee26e42146fc08de3eeafd.zip
fix possible directory deletion error
Diffstat (limited to 'weed/filesys/dir.go')
-rw-r--r--weed/filesys/dir.go16
1 files changed, 8 insertions, 8 deletions
diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go
index c3dab919c..e4260d56f 100644
--- a/weed/filesys/dir.go
+++ b/weed/filesys/dir.go
@@ -324,6 +324,10 @@ func (dir *Dir) removeOneFile(req *fuse.RemoveRequest) error {
dir.wfs.cacheDelete(filePath)
dir.wfs.fsNodeCache.DeleteFsNode(filePath)
+ if dir.wfs.option.AsyncMetaDataCaching {
+ dir.wfs.metaCache.DeleteEntry(context.Background(), filePath)
+ }
+
glog.V(3).Infof("remove file: %v", req)
err = filer_pb.Remove(dir.wfs, dir.FullPath(), req.Name, false, false, false)
if err != nil {
@@ -331,10 +335,6 @@ func (dir *Dir) removeOneFile(req *fuse.RemoveRequest) error {
return fuse.ENOENT
}
- if dir.wfs.option.AsyncMetaDataCaching {
- dir.wfs.metaCache.DeleteEntry(context.Background(), filePath)
- }
-
return nil
}
@@ -345,6 +345,10 @@ func (dir *Dir) removeFolder(req *fuse.RemoveRequest) error {
dir.wfs.cacheDelete(t)
dir.wfs.fsNodeCache.DeleteFsNode(t)
+ if dir.wfs.option.AsyncMetaDataCaching {
+ dir.wfs.metaCache.DeleteEntry(context.Background(), t)
+ }
+
glog.V(3).Infof("remove directory entry: %v", req)
err := filer_pb.Remove(dir.wfs, dir.FullPath(), req.Name, true, false, false)
if err != nil {
@@ -352,10 +356,6 @@ func (dir *Dir) removeFolder(req *fuse.RemoveRequest) error {
return fuse.ENOENT
}
- if dir.wfs.option.AsyncMetaDataCaching {
- dir.wfs.metaCache.DeleteEntry(context.Background(), t)
- }
-
return nil
}