diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-11-01 01:33:26 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-11-01 01:33:26 -0800 |
| commit | 4609644658c824f7e8feb0a741b3fbc8de6da5a6 (patch) | |
| tree | bc741e2ce4ecea681b5c119db35d4ac2310d87ca | |
| parent | df8d976bb0deb087b639b277862e4ad0ea2e0dc6 (diff) | |
| download | seaweedfs-4609644658c824f7e8feb0a741b3fbc8de6da5a6.tar.xz seaweedfs-4609644658c824f7e8feb0a741b3fbc8de6da5a6.zip | |
mount: remove files that may still are open
related to https://github.com/chrislusf/seaweedfs/issues/1581
| -rw-r--r-- | weed/filesys/dir.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go index 7c0a2b0e2..d29bc9b90 100644 --- a/weed/filesys/dir.go +++ b/weed/filesys/dir.go @@ -364,6 +364,12 @@ func (dir *Dir) removeOneFile(req *fuse.RemoveRequest) error { dir.wfs.metaCache.DeleteEntry(context.Background(), filePath) dir.wfs.fsNodeCache.DeleteFsNode(filePath) + // remove current file handle if any + dir.wfs.handlesLock.Lock() + defer dir.wfs.handlesLock.Unlock() + inodeId := util.NewFullPath(dir.FullPath(), req.Name).AsInode() + delete(dir.wfs.handles, inodeId) + // delete the chunks last if isDeleteData { dir.wfs.deleteFileChunks(entry.Chunks) |
