From b1d631d432ea0a7158060c31de6dd4370d6606e8 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sun, 12 Jul 2020 13:13:24 +0200 Subject: v2api: fix double-lock in truncate --- internal/fusefrontend/file2_setattr.go | 2 ++ 1 file changed, 2 insertions(+) (limited to 'internal/fusefrontend/file2_setattr.go') diff --git a/internal/fusefrontend/file2_setattr.go b/internal/fusefrontend/file2_setattr.go index c341e53..697e0d9 100644 --- a/internal/fusefrontend/file2_setattr.go +++ b/internal/fusefrontend/file2_setattr.go @@ -8,6 +8,7 @@ import ( "github.com/hanwen/go-fuse/v2/fuse" "github.com/rfjakob/gocryptfs/internal/syscallcompat" + "github.com/rfjakob/gocryptfs/internal/tlog" ) func (f *File2) Setattr(ctx context.Context, in *fuse.SetAttrIn, out *fuse.AttrOut) (errno syscall.Errno) { @@ -22,6 +23,7 @@ func (f *File2) setAttr(ctx context.Context, in *fuse.SetAttrIn) (errno syscall. f.fdLock.RLock() defer f.fdLock.RUnlock() if f.released { + tlog.Warn.Printf("ino%d fh%d: Truncate on released file", f.qIno.Ino, f.intFd()) return syscall.EBADF } f.fileTableEntry.ContentLock.Lock() -- cgit v1.2.3