From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Dilger Subject: Re: [Ext2-devel] [RFC 0/13] extents and 48bit ext3 Date: Sat, 10 Jun 2006 12:01:32 -0600 Message-ID: <20060610180132.GB5964@schatzie.adilger.int> References: <44899653.1020007@garzik.org> <20060609095620.22326f9d.akpm@osdl.org> <4489AAD9.80806@garzik.org> <20060609103543.52c00c62.akpm@osdl.org> <4489B452.4050100@garzik.org> <4489B719.2070707@garzik.org> <170fa0d20606091127h735531d1s6df27d5721a54b80@mail.gmail.com> <20060610134946.GC11634@stusta.de> <20060610135122.GA9039@infradead.org> <448ADD15.3040109@garzik.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Christoph Hellwig , Andrew Morton , Adrian Bunk , Mike Snitzer , linux-fsdevel@vger.kernel.org, ext2-devel@lists.sourceforge.net, cmm@us.ibm.com, linux-kernel@vger.kernel.org Return-path: Received: from mail.clusterfs.com ([206.168.112.78]:42369 "EHLO mail.clusterfs.com") by vger.kernel.org with ESMTP id S1030472AbWFJSB0 (ORCPT ); Sat, 10 Jun 2006 14:01:26 -0400 To: Jeff Garzik Content-Disposition: inline In-Reply-To: <448ADD15.3040109@garzik.org> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Jun 10, 2006 10:54 -0400, Jeff Garzik wrote: > Christoph Hellwig wrote: > >Alex mentioned a few times that the extents code just adds three if. > >I'm pretty sure that will not give you any regressions in the existing > >codebase. Can we concentrate on the more useful discussion topics now? > > Alex is off by an order of magnitude. I've re-read the 13-patch series, > and this is the result of the review: Thanks for at least looking at the code, which was the intention of posting the patches... It caused quite a few more ruffled feathers than we expected. > Three added in extent map support. As Christoph quoted Alex, "the extents code", which you confirm is 3 "ifs". > There are _five_ "if (new) .. else .." constructs added in JBD alone. Actually, 64-bit support in the JBD code was written by Zach Brown for OCFS, so I think they want this patch into the kernel regardless. It's relatively simple change though - all conditional on a single flag. > Twenty-seven (27) such constructs in 48-bit physical block support. Though there are really only 2 conditionals (in macros, one for read and one for write) that are used everywhere, so it's not as bad as it seems. > Two more in 48-bit ACL support. > > And finally, the superblock changes don't add any branches, like the > other code does, but it does double the endian conversion work that > -every- user must do, even if they don't use 48bit at all. These are all related to 48-bit filesystem support, not strictly extents. Much of the 48-bit code is dependent upon CONFIG_LBD or sizeof(ext3_fsblk_t), so if people have no desire to use large (2TB+) or larger (16TB+) filesystems these conditionals disappear at compile time. Cheers, Andreas -- Andreas Dilger Principal Software Engineer Cluster File Systems, Inc.