brd: re-enable __GFP_HIGHMEM in brd_insert_page()
authorHou Tao <houtao1@huawei.com>
Mon, 22 Apr 2019 13:23:21 +0000 (21:23 +0800)
committerJens Axboe <axboe@kernel.dk>
Mon, 22 Apr 2019 15:48:12 +0000 (09:48 -0600)
__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: stable@vger.kernel.org
Fixes: 7a862fbbdec6 ("brd: remove dax support")
Signed-off-by: Hou Tao <houtao1@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/brd.c

index c18586fccb6f2b25c3d0ef535144deeabf640006..17defbf4f332c5267b5cc38e94c25e54a5246d6a 100644 (file)
@@ -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;