[Patch] New zone ZONE_EASY_RECLAIM take 2[5/5]

Yasunori Goto
2005-11-28T11:36:51Z

This is to disable __GFP_EASY_RECLAIM flag at add_to_page_cache().
If this patch is not applied, cache_grow() checks and call BUG(),
at here.

if (flags & ~(SLAB_DMA|SLAB_LEVEL_MASK|SLAB_NO_GROW))
BUG();

This patch is to solve it.

Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com>

Index: new_zone_mm/mm/filemap.c
=================================--- new_zone_mm.orig/mm/filemap.c 2005-11-22 15:21:23.000000000 +0900
+++ new_zone_mm/mm/filemap.c 2005-11-22 15:21:27.000000000 +0900
@@ -381,7 +381,7 @@ int filemap_write_and_wait_range(struct
int add_to_page_cache(struct page *page, struct address_space *mapping,
pgoff_t offset, gfp_t gfp_mask)
{
- int error = radix_tree_preload(gfp_mask & ~__GFP_HIGHMEM);
+ int error = radix_tree_preload(gfp_mask & ~(__GFP_HIGHMEM | __GFP_EASY_RECLAIM));

if (error = 0) {
write_lock_irq(&mapping->tree_lock);