/* Attempt to detach a locked page from its ->mapping. If it is dirty or if someone else has a ref on the page, abort and return 0. If it was successfully detached, return 1. Assumes the caller has a single ref on this page.  */
int remove_mapping(struct address_space *mapping, struct page *page)
/* Attempt to detach a locked page from its ->mapping. If it is dirty or if someone else has a ref on the page, abort and return 0. If it was successfully detached, return 1. Assumes the caller has a single ref on this page.  */
int remove_mapping(struct address_space *mapping, struct page *page)
{
	if (__remove_mapping(mapping, page)) {
		page_unfreeze_refs(page, 1);
		return 1;
	}
	return 0;
}