[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20060904145941.GA9427@openx1.frec.bull.fr>
Date: Mon, 4 Sep 2006 16:59:41 +0200
From: Alexandre Ratchov <alexandre.ratchov@...l.net>
To: linux-ext4@...r.kernel.org
Subject: Re: [Ext2-devel] rfc: [patch 3/6] more e2fsprogs fixes
On Fri, Aug 25, 2006 at 05:50:49PM -0600, Andreas Dilger wrote:
> On Aug 25, 2006 15:18 +0200, Alexandre Ratchov wrote:
> > add bg_{block_bitmap,inode_bitmap,inode_table}_hi fields in
> > struct ext2_group_desc and use absolute block numbers. While
> > this is not necessary, IMHO this is simpler than relative
> > addressing, and this change make e2fsprogs "just" work.
> >
> > {
> > + __u32 bg_block_bitmap; /* Blocks bitmap block */
> > + __u32 bg_inode_bitmap; /* Inodes bitmap block */
> > __u32 bg_inode_table; /* Inodes table block */
> > __u16 bg_free_blocks_count; /* Free blocks count */
> > __u16 bg_free_inodes_count; /* Free inodes count */
> > __u16 bg_used_dirs_count; /* Directories count */
> > __u16 bg_flags;
> > + __u32 bg_block_bitmap_hi; /* Blocks bitmap block */
> > + __u32 bg_inode_bitmap_hi; /* Inodes bitmap block */
> > + __u32 bg_inode_table_hi; /* Inodes table block */
> > + /*__u16 bg_reserved[3];*/
>
> This consumes all of the blockgroup reserved fields, not leaving any
> for checksumming. In particular, for the UNINIT group changes this
> needs at least 16 bits for the checksum, and it would be good to have
> a 32-bit checksum for the block and inode bitmaps.
>
> Instead, why not put a 16-bit "_block_bitmap_hi" field here and then
> the inode bitmap and inode table are relative to that? Alternately,
> if we want a full 32-bit "hi" value, we can maybe live with smaller
> checksums on the bitmaps...
>
ok, that works for me. However there is still an issue:
in order tu use 48bit adressing, we have to use larger block groups (because
all group descriptors must fit in one block group). So we'll need 16bit
"_hi" bits for blocks_count, inodes_count and perhaps used_dirs_count. And
this leaves no room for additional fields.
There's already a patch that makes the descriptor structure size variable
(similarly to the inode size), see marc.theaimsgroup.com/?m=114968738307171
Here is the updated patch set:
linux-2.6.18-rc4:
http://www.bullopensource.org/ext4/20060904/ext4-linux-2.6.18-rc4.tar.gz
e2fsprogs-1.39:
http://www.bullopensource.org/ext4/20060904/ext4-e2fsprogs-1.39.tar.gz
cheers,
--
Alexandre
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists