author: Michal Hocko <mhocko@suse.com> 2016-07-26 15:24:53 -0700
committer: Linus Torvalds <torvalds@linux-foundation.org> 2016-07-26 16:19:19 -0700
commit: 8a5c743e308dd2b90ad10d1faaa7a1b09173a132
parent: e5e3f4c4f0e95ecbad2f8d2f4f6a29bb8a90226b
Commit Summary:
Diffstat:
1 file changed, 3 insertions, 1 deletion
diff --git a/fs/mpage.c b/fs/mpage.c
index eedc644b78d7..c8a05901a37b 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -71,6 +71,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)) {
@@ -362,7 +364,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;