[PATCH] loop allow highmem

From: Hugh Dickins (hugh@veritas.com)
Date: Tue Oct 15 2002 - 16:16:52 EST


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/



This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:57 EST