]> Pileus Git - ~andy/linux/blobdiff - mm/page-writeback.c
hugetlb: fix dynamic pool resize failure case
[~andy/linux] / mm / page-writeback.c
index 44720363374cb24ca3e90cb48db64d99e5bbdb5b..d821321326e3f6fcff609d7f87ecb5c0890213c9 100644 (file)
@@ -126,7 +126,7 @@ static unsigned long highmem_dirtyable_memory(unsigned long total)
        int node;
        unsigned long x = 0;
 
-       for_each_online_node(node) {
+       for_each_node_state(node, N_HIGH_MEMORY) {
                struct zone *z =
                        &NODE_DATA(node)->node_zones[ZONE_HIGHMEM];
 
@@ -1022,17 +1022,15 @@ int test_set_page_writeback(struct page *page)
 EXPORT_SYMBOL(test_set_page_writeback);
 
 /*
- * Return true if any of the pages in the mapping are marged with the
+ * Return true if any of the pages in the mapping are marked with the
  * passed tag.
  */
 int mapping_tagged(struct address_space *mapping, int tag)
 {
-       unsigned long flags;
        int ret;
-
-       read_lock_irqsave(&mapping->tree_lock, flags);
+       rcu_read_lock();
        ret = radix_tree_tagged(&mapping->page_tree, tag);
-       read_unlock_irqrestore(&mapping->tree_lock, flags);
+       rcu_read_unlock();
        return ret;
 }
 EXPORT_SYMBOL(mapping_tagged);