patch-2.0.5 linux/mm/vmscan.c

Next file: linux/net/ipv4/ip_output.c
Previous file: linux/include/linux/socket.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.4/linux/mm/vmscan.c linux/mm/vmscan.c
@@ -109,7 +109,7 @@
 			if (page_map->count != 1)
 				return 0;
 			if (!(entry = get_swap_page()))
-				return 0;
+				return -1;	/* Aieee!!! Out of swap space! */
 			vma->vm_mm->rss--;
 			flush_cache_page(vma, address);
 			set_pte(page_table, __pte(entry));
@@ -312,6 +312,8 @@
 		if (!--p->swap_cnt)
 			swap_task++;
 		switch (swap_out_process(p, dma, wait)) {
+			case -1:
+				return 0;
 			case 0:
 				if (p->swap_cnt)
 					swap_task++;

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