Hi Avantika,
I ran some tests with the uninit_groups feature enabled and got error messages
when running e2fsck on my ext4 partition. e2fsck complains of an "invalid 
unused inodes count" in some group descriptors.
These errors occur when checking groups which have only one inode in use. The 
"free inodes" count has been decremented by one in these groups but not the 
"unused inodes" count.

The following patch fixes the problem.

Andreas, could you check if my patch is correct?
Thanks a lot,
  Valérie

Index: linux-2.6.23-rc6/fs/ext4/ialloc.c
===================================================================
--- linux-2.6.23-rc6.orig/fs/ext4/ialloc.c      2007-09-19 11:31:01.000000000 
+0200
+++ linux-2.6.23-rc6/fs/ext4/ialloc.c   2007-09-19 11:31:41.000000000 +0200
@@ -633,13 +633,10 @@ got:
        /* If we didn't allocate from within the initialized part of the inode
         * table then we need to initialize up to this inode. */
        if (EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) {
-               if (gdp->bg_flags & cpu_to_le16(EXT4_BG_INODE_UNINIT)) {
+               if (gdp->bg_flags & cpu_to_le16(EXT4_BG_INODE_UNINIT))
                        gdp->bg_flags &= cpu_to_le16(~EXT4_BG_INODE_UNINIT);
-                       free = EXT4_INODES_PER_GROUP(sb);
-               } else {
-                       free = EXT4_INODES_PER_GROUP(sb) -
+               free = EXT4_INODES_PER_GROUP(sb) -
                                le16_to_cpu(gdp->bg_itable_unused);
-               }
 
                if (ino > free)
                        gdp->bg_itable_unused =


-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to