On Tue, Feb 26, 2013 at 01:45:12PM -0800, Alex Elsayed wrote: > Hey, I was looking at the wiki 'unclaimed projects' list and I thought I'd > take a look at what might be needed to use the swap-over-n{fs,bd} > functionality in order to implement swapfile support. It *looks* like it's > surprisingly uncomplicated - to the point where I suspect I'm missing > something, and would like some sanity checking. > > My primary references for this are the patch[1] implementing swap-over-NFS > and HEAD of cmason's for-linus branch.
The patch [1] is not enough to cook swap support for btrfs, have look at the rest of the series. There's some explanation how the interfaces look like. The read/write mechanism is done via direct_IO, but the filesystem has to add the swap_activate and swap_deactivate operations and take care of preallocating the swap file extents. Details: Analogy of these patches has to be done in btrfs as well: d56b4ddf7781e nfs: teach the NFS client how to treat PG_swapcache pages 29418aa4bd487 nfs: disable data cache revalidation for swapfiles The patch you've analyzed in detail adds some nfs-specific bits, not the core work (and thus I don't disagree that it looks surprisingly uncomplicated :) The generic swap support is demonstrated in a509bc1a9e48 mm: swap: implement generic handler for swap_activate and in case of btrfs it has to avoid using bmap. Thanks for tackling this project, I think it's not an easy one. There are implications and API requirements that need to be taken into account wrt snapshots and stable block ranges during the file lifetime. I have a few commetns about that from Mel and can share them if you still want to proceed with this project. david -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html