
From: Rik van Riel <riel@surriel.com>




 fs/buffer.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff -puN fs/buffer.c~make-try_to_free_pages-walk-zonelist-fix fs/buffer.c
--- 25/fs/buffer.c~make-try_to_free_pages-walk-zonelist-fix	2003-12-21 22:01:15.000000000 -0800
+++ 25-akpm/fs/buffer.c	2003-12-21 22:01:15.000000000 -0800
@@ -484,7 +484,7 @@ void invalidate_bdev(struct block_device
  */
 static void free_more_memory(void)
 {
-	struct zone *zone;
+	struct zone **zones;
 	pg_data_t *pgdat;
 
 	wakeup_bdflush(1024);
@@ -492,9 +492,9 @@ static void free_more_memory(void)
 	yield();
 
 	for_each_pgdat(pgdat) {
-		zone = pgdat->node_zonelists[GFP_NOFS&GFP_ZONEMASK].zones[0];
-		if (zone)
-			try_to_free_pages(zone, GFP_NOFS, 0);
+		zones = pgdat->node_zonelists[GFP_NOFS&GFP_ZONEMASK].zones;
+		if (*zones)
+			try_to_free_pages(zones, GFP_NOFS, 0);
 	}
 }
 

_
