release/src/linux/linux/mm/filemap.c
/*
 * a rather lightweight function, finding and getting a reference to a
 * hashed page atomically.
 */
a rather lightweight function, finding and getting a reference to a
hashed page atomically.
a rather lightweight function finding and getting a reference to a hashed page atomically .
struct page * __find_get_page(struct address_space *mapping,
			      unsigned long offset, struct page **hash)
{
	struct page *page;
	spin_lock(&pagecache_lock);
	page = __find_page_nolock(mapping, offset, *hash);
	if (page)
		page_cache_get(page);
	spin_unlock(&pagecache_lock);
	return page;
}
struct page * __find_get_page ( struct address_space * mapping , unsigned long offset , struct page * * hash ) { struct page * page ; spin_lock ( & pagecache_lock ) ; page = __find_page_nolock ( mapping , offset , * hash ) ; if ( page ) page_cache_get ( page ) ; spin_unlock ( & pagecache_lock ) ; return page ; }
a rather lightweight function, finding and getting a reference to a
 hashed page atomically.
a rather lightweight function finding and getting a reference to a hashed page atomically .
/*
	 * We scan the hash list read-only. Addition to and removal from
	 * the hash-list needs a held write-lock.
	 */