diff options
Diffstat (limited to 'mm/filemap.c')
| -rw-r--r-- | mm/filemap.c | 9 | 
1 files changed, 4 insertions, 5 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 9276bdb2343c..0604cb02e6f3 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -786,7 +786,7 @@ int replace_page_cache_page(struct page *old, struct page *new, gfp_t gfp_mask)  	VM_BUG_ON_PAGE(!PageLocked(new), new);  	VM_BUG_ON_PAGE(new->mapping, new); -	error = radix_tree_preload(gfp_mask & ~__GFP_HIGHMEM); +	error = radix_tree_preload(gfp_mask & GFP_RECLAIM_MASK);  	if (!error) {  		struct address_space *mapping = old->mapping;  		void (*freepage)(struct page *); @@ -842,7 +842,7 @@ static int __add_to_page_cache_locked(struct page *page,  			return error;  	} -	error = radix_tree_maybe_preload(gfp_mask & ~__GFP_HIGHMEM); +	error = radix_tree_maybe_preload(gfp_mask & GFP_RECLAIM_MASK);  	if (error) {  		if (!huge)  			mem_cgroup_cancel_charge(page, memcg, false); @@ -1585,8 +1585,7 @@ no_page:  		if (fgp_flags & FGP_ACCESSED)  			__SetPageReferenced(page); -		err = add_to_page_cache_lru(page, mapping, offset, -				gfp_mask & GFP_RECLAIM_MASK); +		err = add_to_page_cache_lru(page, mapping, offset, gfp_mask);  		if (unlikely(err)) {  			put_page(page);  			page = NULL; @@ -2387,7 +2386,7 @@ static int page_cache_read(struct file *file, pgoff_t offset, gfp_t gfp_mask)  		if (!page)  			return -ENOMEM; -		ret = add_to_page_cache_lru(page, mapping, offset, gfp_mask & GFP_KERNEL); +		ret = add_to_page_cache_lru(page, mapping, offset, gfp_mask);  		if (ret == 0)  			ret = mapping->a_ops->readpage(file, page);  		else if (ret == -EEXIST)  | 
