nfsi->flags |= NFS_INO_REVAL_PAGECACHE; 
nfsi->cache_validity |= NFS_INO_REVAL_PAGECACHE; 
int nfs_refresh_inode(struct inode *inode, struct nfs_fattr *fattr){	struct nfs_inode *nfsi = NFS_I(inode);	loff_t cur_size, new_isize;	int data_unstable;	/* Do we hold a delegation? */	if (nfs_have_delegation(inode, FMODE_READ))		return 0;	/* Are we in the process of updating data on the server? */	data_unstable = nfs_caches_unstable(inode);	if (fattr->valid & NFS_ATTR_FATTR_V4) {		if ((fattr->valid & NFS_ATTR_PRE_CHANGE) != 0				&& nfsi->change_attr == fattr->pre_change_attr)			nfsi->change_attr = fattr->change_attr;		if (nfsi->change_attr != fattr->change_attr) {			nfsi->flags |= NFS_INO_INVALID_ATTR;			if (!data_unstable)				nfsi->flags |= NFS_INO_REVAL_PAGECACHE;		}	}	if ((fattr->valid & NFS_ATTR_FATTR) == 0)		return 0;	/* Has the inode gone and changed behind our back? */	if (nfsi->fileid != fattr->fileid			|| (inode->i_mode & S_IFMT) != (fattr->mode & S_IFMT))		return -EIO;	cur_size = i_size_read(inode); 	new_isize = nfs_size_to_loff_t(fattr->size);	/* If we have atomic WCC data, we may update some attributes */	if ((fattr->valid & NFS_ATTR_WCC) != 0) {		if (timespec_equal(&inode->i_ctime, &fattr->pre_ctime))			memcpy(&inode->i_ctime, &fattr->ctime, sizeof(inode->i_ctime));		if (timespec_equal(&inode->i_mtime, &fattr->pre_mtime))			memcpy(&inode->i_mtime, &fattr->mtime, sizeof(inode->i_mtime));	}	/* Verify a few of the more important attributes */	if (!timespec_equal(&inode->i_mtime, &fattr->mtime)) {		nfsi->flags |= NFS_INO_INVALID_ATTR;		if (!data_unstable)			nfsi->flags |= NFS_INO_REVAL_PAGECACHE;	}	if (cur_size != new_isize) {		nfsi->flags |= NFS_INO_INVALID_ATTR;		if (nfsi->npages == 0)			nfsi->flags |= NFS_INO_REVAL_PAGECACHE;	}	/* Have any file permissions changed? */	if ((inode->i_mode & S_IALLUGO) != (fattr->mode & S_IALLUGO)			|| inode->i_uid != fattr->uid			|| inode->i_gid != fattr->gid)		nfsi->flags |= NFS_INO_INVALID_ATTR | NFS_INO_INVALID_ACCESS | NFS_INO_INVALID_ACL;	/* Has the link count changed? */	if (inode->i_nlink != fattr->nlink)		nfsi->flags |= NFS_INO_INVALID_ATTR;	if (!timespec_equal(&inode->i_atime, &fattr->atime))		nfsi->flags |= NFS_INO_INVALID_ATIME;	nfsi->read_cache_jiffies = fattr->timestamp;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/5529680981807b44abf3be30fb6d612ff04f68ff/inode.c/buggy/fs/nfs/inode.c