2007-10-15 07:32:16

by Coly Li

[permalink] [raw]
Subject: [PATCH][e2fsprogs] extend bg_itable_unused into 32bit

Current bg_itable_unused in ext2_group_desc and ext4_group_desc is 16bit, which can present 64K
inode offset in inodes table at most. For 4KB ext4 block, the inode bitmap can present 32K inodes in
inodes table at most.

It is very easy to encounter this size limitation in future ext4 development -- we need to extend
this field into 32bit for ext4.

In latest e2fsprogs git, it seems only adding a bg_itable_unused_hi in struct ext4_group_desc is OK
(do not interfere current e2fsprogs and kernel code).

Signed-off-by: Coly Li <[email protected]>

diff --git a/lib/ext2fs/ext2_fs.h b/lib/ext2fs/ext2_fs.h
index a316665..2aeb6d4 100644
--- a/lib/ext2fs/ext2_fs.h
+++ b/lib/ext2fs/ext2_fs.h
@@ -167,7 +167,7 @@ struct ext4_group_desc
__u16 bg_free_blocks_count_hi;/* Free blocks count MSB */
__u16 bg_free_inodes_count_hi;/* Free inodes count MSB */
__u16 bg_used_dirs_count_hi; /* Directories count MSB */
- __u16 bg_pad;
+ __u16 bg_itable_unused_hi; /* Unused inodes count MSB */
__u32 bg_reserved2[3];

Coly Li