diff --git a/fuse.go b/fuse.go index 2a7f6eb..80d867f 100644 --- a/fuse.go +++ b/fuse.go @@ -335,6 +335,8 @@ func (f *ITNode) Open(ctx context.Context, openFlags uint32) (fh fs.FileHandle, return nil, 0, syscall.EROFS } + defer fp.Close() + buf := make([]byte, f.self.size); nread, err := fp.Read(buf) if err != nil || nread != int(f.self.size) { @@ -342,11 +344,6 @@ func (f *ITNode) Open(ctx context.Context, openFlags uint32) (fh fs.FileHandle, fp.Close() return nil, 0, syscall.EROFS } - err = fp.Close() - if err != nil { - log.Error("Closing file failed").Str("path", f.path).Err(err).Send(); - return nil, 0, syscall.EROFS - } fh = &bytesFileReadHandle{ content: buf,