|
@@ -1664,8 +1664,8 @@ no_cached_page:
|
|
|
error = -ENOMEM;
|
|
|
goto out;
|
|
|
}
|
|
|
- error = add_to_page_cache_lru(page, mapping,
|
|
|
- index, GFP_KERNEL);
|
|
|
+ error = add_to_page_cache_lru(page, mapping, index,
|
|
|
+ GFP_KERNEL & mapping_gfp_mask(mapping));
|
|
|
if (error) {
|
|
|
page_cache_release(page);
|
|
|
if (error == -EEXIST) {
|
|
@@ -1766,7 +1766,8 @@ static int page_cache_read(struct file *file, pgoff_t offset)
|
|
|
if (!page)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
- ret = add_to_page_cache_lru(page, mapping, offset, GFP_KERNEL);
|
|
|
+ ret = add_to_page_cache_lru(page, mapping, offset,
|
|
|
+ GFP_KERNEL & mapping_gfp_mask(mapping));
|
|
|
if (ret == 0)
|
|
|
ret = mapping->a_ops->readpage(file, page);
|
|
|
else if (ret == -EEXIST)
|