On Thu, 10 Jan 2008 08:54:59 +0000 Christoph Hellwig <[EMAIL PROTECTED]> wrote:
> On Thu, Jan 10, 2008 at 09:44:57AM +0100, Jens Axboe wrote: > > > IMHO this shouldn't be done in the loop driver anyway. > > > Filesystems have their own effricient extent lookup trees (well, > > > at least xfs and btrfs do), and we should leverage that instead > > > of reinventing it. > > > > Completely agree, it's just needed right now for this solution > > since all we have is a crappy bmap() interface to get at those > > mappings. > > So let's fix the interface instead of piling crap ontop of it. As I > said I think Peter has something to start with so let's beat on it > until we have something suitable. If we aren't done by end of Feb > I'm happy to host a hackfest to get it sorted around the fs/storage > summit.. > Ok, I've been meaning to break my extent_map code up, and this is a very good reason. I'll work up a sample today based on Jens' code. The basic goals: * Loop (swap) calls into the FS for each mapping. Any caching happens on the FS side. * The FS returns an extent, filling any holes Swap would need to use an extra call early on for preallocation. Step two is having a call back into the FS allow the FS to delay the bios until commit completion so that COW and delalloc blocks can be fully on disk when the bios are reported as done. Jens, can you add some way to queue the bio completions up? -chris -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/