mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
Fix page allocation flags in grow_dev_page()
grow_dev_page() simply passes GFP_NOFS to find_or_create_page. This means the allocation of radix tree nodes is done with GFP_NOFS and the allocation of a new page is done using GFP_NOFS. The mapping has a flags field that contains the necessary allocation flags for the page cache allocation. These need to be consulted in order to get DMA and HIGHMEM allocations etc right. And yes a blockdev could be allowing Highmem allocations if its a ramdisk. Cc: Hugh Dickins <hugh@veritas.com> Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
8d98a690f5
commit
ea125892a1
1 changed files with 2 additions and 1 deletions
|
@ -981,7 +981,8 @@ grow_dev_page(struct block_device *bdev, sector_t block,
|
|||
struct page *page;
|
||||
struct buffer_head *bh;
|
||||
|
||||
page = find_or_create_page(inode->i_mapping, index, GFP_NOFS);
|
||||
page = find_or_create_page(inode->i_mapping, index,
|
||||
mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS);
|
||||
if (!page)
|
||||
return NULL;
|
||||
|
||||
|
|
Loading…
Reference in a new issue