[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1190203577.14472.25.camel@ext1.frec.bull.fr>
Date: Wed, 19 Sep 2007 14:06:17 +0200
From: Valerie Clement <valerie.clement@...l.net>
To: Avantika Mathur <mathur@...ux.vnet.ibm.com>
Cc: linux-ext4@...r.kernel.org, Andreas Dilger <adilger@...sterfs.com>,
cmm@...ibm.com
Subject: Re: [PATCH] Ext4: Uninitialized Block Groups
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists