Re: [Ext2-devel] [RFC 0/13] extents and 48bit ext3
From: Andreas Dilger
Date: Sat Jun 10 2006 - 14:00:23 EST
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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/