entry.val = page->private; 
entry.val = page_private(page); 
int remove_exclusive_swap_page(struct page *page){	int retval;	struct swap_info_struct * p;	swp_entry_t entry;	BUG_ON(PagePrivate(page));	BUG_ON(!PageLocked(page));	if (!PageSwapCache(page))		return 0;	if (PageWriteback(page))		return 0;	if (page_count(page) != 2) /* 2: us + cache */		return 0;	entry.val = page->private;	p = swap_info_get(entry);	if (!p)		return 0;	/* Is the only swap cache user the cache itself? */	retval = 0;	if (p->swap_map[swp_offset(entry)] == 1) {		/* Recheck the page count with the swapcache lock held.. */		write_lock_irq(&swapper_space.tree_lock);		if ((page_count(page) == 2) && !PageWriteback(page)) {			__delete_from_swap_cache(page);			SetPageDirty(page);			retval = 1;		}		write_unlock_irq(&swapper_space.tree_lock);	}	spin_unlock(&swap_lock);	if (retval) {		swap_free(entry);		page_cache_release(page);	}	return retval;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/4c21e2f2441dc5fbb957b030333f5a3f2d02dea7/swapfile.c/clean/mm/swapfile.c