From d9a2a7f1c4593c20ec9a92b98b726af7b32baff3 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Fri, 16 Apr 2021 02:55:09 -0700 Subject: WIP no memory issue if some directory is removed, it may have this error $ rm -Rf ~/tmp/m2/s1 rm: fts_read: Device not configured --- weed/filesys/file.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'weed/filesys/file.go') diff --git a/weed/filesys/file.go b/weed/filesys/file.go index 2a991d7db..b3e5cc72d 100644 --- a/weed/filesys/file.go +++ b/weed/filesys/file.go @@ -18,6 +18,7 @@ import ( const blockSize = 512 var _ = fs.Node(&File{}) +var _ = fs.NodeIdentifier(&File{}) var _ = fs.NodeOpener(&File{}) var _ = fs.NodeFsyncer(&File{}) var _ = fs.NodeSetattrer(&File{}) @@ -40,6 +41,10 @@ func (file *File) fullpath() util.FullPath { return util.NewFullPath(file.dir.FullPath(), file.Name) } +func (file *File) Id() uint64 { + return file.fullpath().AsInode() +} + func (file *File) Attr(ctx context.Context, attr *fuse.Attr) (err error) { glog.V(4).Infof("file Attr %s, open:%v existing:%v", file.fullpath(), file.isOpen, attr) @@ -253,7 +258,6 @@ func (file *File) Fsync(ctx context.Context, req *fuse.FsyncRequest) error { func (file *File) Forget() { t := util.NewFullPath(file.dir.FullPath(), file.Name) glog.V(4).Infof("Forget file %s", t) - file.wfs.fsNodeCache.DeleteFsNode(t) file.wfs.ReleaseHandle(t, 0) } -- cgit v1.2.3