patch-2.3.8 linux/mm/page_alloc.c

Next file: linux/mm/page_io.c
Previous file: linux/mm/filemap.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.7/linux/mm/page_alloc.c linux/mm/page_alloc.c
@@ -124,6 +124,9 @@
 	if (!PageReserved(page) && put_page_testzero(page)) {
 		if (PageSwapCache(page))
 			PAGE_BUG(page);
+		if (PageLocked(page))
+			PAGE_BUG(page);
+
 		page->flags &= ~(1 << PG_referenced);
 		free_pages_ok(page - mem_map, 0);
 		return 1;
@@ -140,6 +143,8 @@
 		if (!PageReserved(map) && put_page_testzero(map)) {
 			if (PageSwapCache(map))
 				PAGE_BUG(map);
+			if (PageLocked(map))
+				PAGE_BUG(map);
 			map->flags &= ~(1 << PG_referenced);
 			free_pages_ok(map_nr, order);
 			return 1;
@@ -368,8 +373,6 @@
 		if (!swapdev->swap_map[offset])
 			break;
 		if (swapdev->swap_map[offset] == SWAP_MAP_BAD)
-			break;
-		if (test_bit(offset, swapdev->swap_lockmap))
 			break;
 
 		/* Ok, do the async read-ahead now */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)