[PATCH] loop allow highmem

Hugh Dickins (hugh@veritas.com)
Tue, 15 Oct 2002 22:16:52 +0100 (BST)


The loop driver forces the underlying inode's gfp_mask to GFP_NOIO.
But its own code seems fully kmapped, and if the underlying filesystem
says it can handle __GFP_HIGHMEM in its gfp_mask, why limit it?

--- 2.5.42-mm3/drivers/block/loop.c Sat Oct 12 08:25:59 2002
+++ linux/drivers/block/loop.c Tue Oct 15 13:14:34 2002
@@ -715,7 +715,7 @@
goto out_putf;
}
lo->old_gfp_mask = inode->i_mapping->gfp_mask;
- inode->i_mapping->gfp_mask = GFP_NOIO;
+ inode->i_mapping->gfp_mask &= ~(__GFP_IO|__GFP_HIGHIO|__GFP_FS);

set_blocksize(bdev, block_size(lo_device));

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/