2019-04-22 13:20:20

by Hou Tao

[permalink] [raw]
Subject: [PATCH] brd: re-enable __GFP_HIGHMEM in brd_insert_page()

__GFP_HIGHMEM is disabled if dax is enabled on brd, however
dax support for brd has been removed since commit (7a862fbbdec6
"brd: remove dax support"), so restore __GFP_HIGHMEM in
brd_insert_page().

Also remove the no longer applicable comments about DAX and highmem.

Cc: [email protected]
Fixes: 7a862fbbdec6 ("brd: remove dax support")
Signed-off-by: Hou Tao <[email protected]>
---
drivers/block/brd.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/block/brd.c b/drivers/block/brd.c
index c18586fccb6f..17defbf4f332 100644
--- a/drivers/block/brd.c
+++ b/drivers/block/brd.c
@@ -96,13 +96,8 @@ static struct page *brd_insert_page(struct brd_device *brd, sector_t sector)
/*
* Must use NOIO because we don't want to recurse back into the
* block or filesystem layers from page reclaim.
- *
- * Cannot support DAX and highmem, because our ->direct_access
- * routine for DAX must return memory that is always addressable.
- * If DAX was reworked to use pfns and kmap throughout, this
- * restriction might be able to be lifted.
*/
- gfp_flags = GFP_NOIO | __GFP_ZERO;
+ gfp_flags = GFP_NOIO | __GFP_ZERO | __GFP_HIGHMEM;
page = alloc_page(gfp_flags);
if (!page)
return NULL;
--
2.16.2.dirty


2019-04-22 14:49:29

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] brd: re-enable __GFP_HIGHMEM in brd_insert_page()

On 4/22/19 7:23 AM, Hou Tao wrote:
> __GFP_HIGHMEM is disabled if dax is enabled on brd, however
> dax support for brd has been removed since commit (7a862fbbdec6
> "brd: remove dax support"), so restore __GFP_HIGHMEM in
> brd_insert_page().

Applied, thanks.

--
Jens Axboe