|
@@ -735,6 +735,7 @@ static int ubifs_do_bulk_read(struct ubifs_info *c, struct bu_info *bu,
|
|
|
int err, page_idx, page_cnt, ret = 0, n = 0;
|
|
|
int allocate = bu->buf ? 0 : 1;
|
|
|
loff_t isize;
|
|
|
+ gfp_t ra_gfp_mask = readahead_gfp_mask(mapping) & ~__GFP_FS;
|
|
|
|
|
|
err = ubifs_tnc_get_bu_keys(c, bu);
|
|
|
if (err)
|
|
@@ -796,8 +797,7 @@ static int ubifs_do_bulk_read(struct ubifs_info *c, struct bu_info *bu,
|
|
|
|
|
|
if (page_offset > end_index)
|
|
|
break;
|
|
|
- page = find_or_create_page(mapping, page_offset,
|
|
|
- GFP_NOFS | __GFP_COLD);
|
|
|
+ page = find_or_create_page(mapping, page_offset, ra_gfp_mask);
|
|
|
if (!page)
|
|
|
break;
|
|
|
if (!PageUptodate(page))
|