On Wed, Jun 27, 2007 at 11:36:57PM +1000, David Chinner wrote: > > This > > would seem to be the only impediment from using fallocated files > > for swap files. Maybe if FIEMAP was used by mkswap to get an > > "UNWRITTEN" flag back instead of "HOLE" it wouldn't be a problem. > > Probably. If we taught do_mpage_readpage() about unwritten mappings, > then would could map them on read if and then sys_swapon can remain > blissfully unaware of unwritten extents.
Except for reading the swap header in the first page sys_swapon will never end up in do_mpage_readpage. It rather uses ->bmap to build it's own extent list and issues bios directly. Now this is everything but nice and we should rather refactor the direct I/O code to work on kernel pages without looking at their fields so this can be done properly. Alternatively ->bmap would grow a BMAP_SWAP flag so the filesystem could do the right thing. But despite not beeing useful for swap the patch below looks very nice to me. doing things correctly in core code is always better than hacking around it in the filesystem, especially as XFS won't stay the only filesystem using unwritten extents. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html