mount: fix possible memory leak

if many files are read repeatedly, their metadata are accumulated in memory. This fix cleared the metadata after the file is read.
This commit is contained in:
Chris Lu 2021-04-08 19:47:31 -07:00
parent b06c5b9d99
commit 6deb647a8f

View file

@ -200,6 +200,8 @@ func (fh *FileHandle) Release(ctx context.Context, req *fuse.ReleaseRequest) err
fh.Lock() fh.Lock()
defer fh.Unlock() defer fh.Unlock()
fh.f.clearEntry()
if fh.f.isOpen <= 0 { if fh.f.isOpen <= 0 {
glog.V(0).Infof("Release reset %s open count %d => %d", fh.f.Name, fh.f.isOpen, 0) glog.V(0).Infof("Release reset %s open count %d => %d", fh.f.Name, fh.f.isOpen, 0)
fh.f.isOpen = 0 fh.f.isOpen = 0
@ -211,7 +213,6 @@ func (fh *FileHandle) Release(ctx context.Context, req *fuse.ReleaseRequest) err
fh.f.isOpen-- fh.f.isOpen--
fh.f.wfs.ReleaseHandle(fh.f.fullpath(), fuse.HandleID(fh.handle)) fh.f.wfs.ReleaseHandle(fh.f.fullpath(), fuse.HandleID(fh.handle))
fh.f.setReader(nil)
} }
return nil return nil