/* This does a check to see if the buffer belongs to one of these lost pages before doing the final put_bh. If page->mapping was null, it tries to free buffers on the page, which should make the final page_cache_release drop the page from the lru.  */
static void release_buffer_page(struct buffer_head *bh)
/* This does a check to see if the buffer belongs to one of these lost pages before doing the final put_bh. If page->mapping was null, it tries to free buffers on the page, which should make the final page_cache_release drop the page from the lru.  */
static void release_buffer_page(struct buffer_head *bh)
{
	struct page *page = bh->b_page;
	if (!page->mapping && trylock_page(page)) {
		page_cache_get(page);
		put_bh(bh);
		if (!page->mapping)
			try_to_free_buffers(page);
		unlock_page(page);
		page_cache_release(page);
	} else {
		put_bh(bh);
	}
}