func (me *memNode) GetAttr(out *fuse.Attr, file nodefs.File, context *fuse.Context) (code fuse.Status) { var sz uint64 if file != nil { code := file.GetAttr(out) if code.Ok() { sz = out.Size } else { msg := fmt.Sprintf("File.GetAttr(%s) = %v, %v", file.String(), out, code) panic(msg) } } me.mutex.RLock() defer me.mutex.RUnlock() *out = me.info if file != nil { out.Size = sz } return fuse.OK }