X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=fs%2Fmpage.c;h=2ca1f39c8cba1aefcbf330d845be6cdefd921e9e;hb=12beb346710b766b8e74a7a3ac8165835bd68def;hp=37b28280ad04065cebdebe73c309581fb256863b;hpb=6453dbdda30428a3c56568c96fe70ea3612f07e2;p=deliverable%2Flinux.git diff --git a/fs/mpage.c b/fs/mpage.c index 37b28280ad04..2ca1f39c8cba 100644 --- a/fs/mpage.c +++ b/fs/mpage.c @@ -72,6 +72,8 @@ mpage_alloc(struct block_device *bdev, { struct bio *bio; + /* Restrict the given (page cache) mask for slab allocations */ + gfp_flags &= GFP_KERNEL; bio = bio_alloc(gfp_flags, nr_vecs); if (bio == NULL && (current->flags & PF_MEMALLOC)) { @@ -363,7 +365,7 @@ mpage_readpages(struct address_space *mapping, struct list_head *pages, sector_t last_block_in_bio = 0; struct buffer_head map_bh; unsigned long first_logical_block = 0; - gfp_t gfp = mapping_gfp_constraint(mapping, GFP_KERNEL); + gfp_t gfp = readahead_gfp_mask(mapping); map_bh.b_state = 0; map_bh.b_size = 0;