From 730291feabdcdbd6345aa12ddba87a3ffea4ecb1 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Thu, 5 May 2016 13:38:39 +0200 Subject: [PATCH] fusefrontend: fix wlock memory leak The write lock was not freed on release, causing a slow memory leak. This was noticed by running extractloop.bash for 10 hours. --- internal/fusefrontend/file.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/fusefrontend/file.go b/internal/fusefrontend/file.go index 0d26329..d9588e9 100644 --- a/internal/fusefrontend/file.go +++ b/internal/fusefrontend/file.go @@ -302,9 +302,10 @@ func (f *file) Write(data []byte, off int64) (uint32, fuse.Status) { // Release - FUSE call, close file func (f *file) Release() { f.fdLock.Lock() - defer f.fdLock.Unlock() - f.fd.Close() + f.fdLock.Unlock() + + wlock.unregister(f.ino) f.forgotten = true }