} else if (err == -EINTR || err == -EIO) fuse_invalidate_attr(inode); 
} fuse_invalidate_attr(inode); 
static int fuse_commit_write(struct file *file, struct page *page,			     unsigned offset, unsigned to){	int err;	size_t nres;	unsigned count = to - offset;	struct inode *inode = page->mapping->host;	struct fuse_conn *fc = get_fuse_conn(inode);	loff_t pos = ((loff_t) page->index << PAGE_CACHE_SHIFT) + offset;	struct fuse_req *req = fuse_get_request_nonint(fc);	if (!req)		return -EINTR;	req->num_pages = 1;	req->pages[0] = page;	req->page_offset = offset;	nres = fuse_send_write(req, file, inode, pos, count);	err = req->out.h.error;	fuse_put_request(fc, req);	if (!err && nres != count)		err = -EIO;	if (!err) {		pos += count;		if (pos > i_size_read(inode))			i_size_write(inode, pos);		if (offset == 0 && to == PAGE_CACHE_SIZE) {			clear_page_dirty(page);			SetPageUptodate(page);		}	} else if (err == -EINTR || err == -EIO)		fuse_invalidate_attr(inode);	return err;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b36c31ba95f0fe0a03c727300d9c4c54438a5636/file.c/buggy/fs/fuse/file.c