aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys/dir.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-08-18 23:40:53 -0700
committerChris Lu <chris.lu@gmail.com>2020-08-18 23:40:53 -0700
commit9f1e0aeef5898db5b121eb0b9f8a70a06844b0e9 (patch)
tree426bf5e74caa3cf2175a965131d65aaf0074fc12 /weed/filesys/dir.go
parent99d05f758c20e9884cb2879567fba7e9b56c2782 (diff)
downloadseaweedfs-9f1e0aeef5898db5b121eb0b9f8a70a06844b0e9.tar.xz
seaweedfs-9f1e0aeef5898db5b121eb0b9f8a70a06844b0e9.zip
delete chunks in the last step
Diffstat (limited to 'weed/filesys/dir.go')
-rw-r--r--weed/filesys/dir.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go
index 578c40014..645051821 100644
--- a/weed/filesys/dir.go
+++ b/weed/filesys/dir.go
@@ -317,8 +317,8 @@ func (dir *Dir) removeOneFile(req *fuse.RemoveRequest) error {
return nil
}
- dir.wfs.deleteFileChunks(entry.Chunks)
+ // first, ensure the filer store can correctly delete
glog.V(3).Infof("remove file: %v", req)
err = filer_pb.Remove(dir.wfs, dir.FullPath(), req.Name, false, false, false, false)
if err != nil {
@@ -326,9 +326,13 @@ func (dir *Dir) removeOneFile(req *fuse.RemoveRequest) error {
return fuse.ENOENT
}
+ // then, delete meta cache and fsNode cache
dir.wfs.metaCache.DeleteEntry(context.Background(), filePath)
dir.wfs.fsNodeCache.DeleteFsNode(filePath)
+ // delete the chunks last
+ dir.wfs.deleteFileChunks(entry.Chunks)
+
return nil
}