mm: have zonelist contains structs with both a zone pointer and zone_idx
[sfrench/cifs-2.6.git] / fs / buffer.c
index 9b5434a80479aad0db053b8e11b980f29b626cfe..ac84cd13075d60142002897661ba067d60b65239 100644 (file)
@@ -360,16 +360,16 @@ void invalidate_bdev(struct block_device *bdev)
  */
 static void free_more_memory(void)
 {
  */
 static void free_more_memory(void)
 {
-       struct zone **zones;
+       struct zoneref *zrefs;
        int nid;
 
        wakeup_pdflush(1024);
        yield();
 
        for_each_online_node(nid) {
        int nid;
 
        wakeup_pdflush(1024);
        yield();
 
        for_each_online_node(nid) {
-               zones = first_zones_zonelist(node_zonelist(nid, GFP_NOFS),
+               zrefs = first_zones_zonelist(node_zonelist(nid, GFP_NOFS),
                                                gfp_zone(GFP_NOFS));
                                                gfp_zone(GFP_NOFS));
-               if (*zones)
+               if (zrefs->zone)
                        try_to_free_pages(node_zonelist(nid, GFP_NOFS), 0,
                                                GFP_NOFS);
        }
                        try_to_free_pages(node_zonelist(nid, GFP_NOFS), 0,
                                                GFP_NOFS);
        }