Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758159AbYAJMzL (ORCPT ); Thu, 10 Jan 2008 07:55:11 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754170AbYAJMy6 (ORCPT ); Thu, 10 Jan 2008 07:54:58 -0500 Received: from agminet01.oracle.com ([141.146.126.228]:38619 "EHLO agminet01.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753985AbYAJMy4 (ORCPT ); Thu, 10 Jan 2008 07:54:56 -0500 Date: Thu, 10 Jan 2008 07:53:59 -0500 From: Chris Mason To: Christoph Hellwig Cc: Jens Axboe , Christoph Hellwig , Nick Piggin , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Peter Zijlstra Subject: Re: [PATCH][RFC] fast file mapping for loop Message-ID: <20080110075359.18622548@think.oraclecorp.com> In-Reply-To: <20080110085459.GA11966@infradead.org> References: <20080109085231.GE6650@kernel.dk> <200801101242.25671.nickpiggin@yahoo.com.au> <20080110083753.GB10745@infradead.org> <20080110084457.GT6258@kernel.dk> <20080110085459.GA11966@infradead.org> X-Mailer: Claws Mail 3.0.2 (GTK+ 2.12.0; i486-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: AAAAAQAAAAI= X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE X-Whitelist: TRUE Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1676 Lines: 42 On Thu, 10 Jan 2008 08:54:59 +0000 Christoph Hellwig 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 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/