patch-2.1.107 linux/mm/filemap.c

Next file: linux/mm/page_alloc.c
Previous file: linux/lib/inflate.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.106/linux/mm/filemap.c linux/mm/filemap.c
@@ -216,20 +216,19 @@
  * free it from the page hash-queues etc, as we don't want to keep it
  * in-core unnecessarily.
  */
-unsigned long page_unuse(unsigned long page)
+unsigned long page_unuse(struct page * page)
 {
-	struct page * p = mem_map + MAP_NR(page);
-	int count = atomic_read(&p->count);
+	int count = atomic_read(&page->count);
 
 	if (count != 2)
 		return count;
-	if (!p->inode)
+	if (!page->inode)
 		return count;
-	if (PageSwapCache(p))
+	if (PageSwapCache(page))
 		panic ("Doing a normal page_unuse of a swap cache page");
-	remove_page_from_hash_queue(p);
-	remove_page_from_inode_queue(p);
-	free_page(page);
+	remove_page_from_hash_queue(page);
+	remove_page_from_inode_queue(page);
+	__free_page(page);
 	return 1;
 }
 
@@ -902,7 +901,7 @@
 		goto success;
 
 	/*
-	 * Uhhuh.. Things didn't work out. Return zero to tell the
+	 * Things didn't work out. Return zero to tell the
 	 * mm layer so, possibly freeing the page cache page first.
 	 */
 failure:
@@ -1413,7 +1412,7 @@
 		set_bit(PG_uptodate, &page->flags);
 
 do_update_page:
-		/* Alright, the page is there.  Now update it. */
+		/* All right, the page is there.  Now update it. */
 		status = inode->i_op->updatepage(file, page, buf,
 							offset, bytes, sync);
 done_with_page:

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov