ctx = nfs_find_open_context(inode, FMODE_READ); 
ctx = nfs_find_open_context(inode, NULL, FMODE_READ); 
int nfs_readpage(struct file *file, struct page *page){	struct nfs_open_context *ctx;	struct inode *inode = page->mapping->host;	int		error;	dprintk("NFS: nfs_readpage (%p %ld@%lu)\n",		page, PAGE_CACHE_SIZE, page->index);	/*	 * Try to flush any pending writes to the file..	 *	 * NOTE! Because we own the page lock, there cannot	 * be any new pending writes generated at this point	 * for this page (other pages can be written to).	 */	error = nfs_wb_page(inode, page);	if (error)		goto out_error;	if (file == NULL) {		ctx = nfs_find_open_context(inode, FMODE_READ);		if (ctx == NULL)			return -EBADF;	} else		ctx = get_nfs_open_context((struct nfs_open_context *)				file->private_data);	if (!IS_SYNC(inode)) {		error = nfs_readpage_async(ctx, inode, page);		goto out;	}	error = nfs_readpage_sync(ctx, inode, page);	if (error < 0 && IS_SWAPFILE(inode))		printk("Aiee.. nfs swap-in of page failed!\n");out:	put_nfs_open_context(ctx);	return error;out_error:	unlock_page(page);	return error;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d530838bfa507d67b40d13b00d9cbd7a46a47e78/read.c/clean/fs/nfs/read.c