[PATCH] e2fsck: allow the block bitmap to be uninit when the inode bitmap is in use

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Removing this check will allow us to eventually eliminate code from
the kernel which forcibly initialized the block bitmap when the inode
bitmap is first used.  This would eliminate a required journal credit
and extra disk write.

Addresses-Google-Bug: #5944440

Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>
---
 e2fsck/problem.c |    5 -----
 e2fsck/problem.h |    4 ++--
 e2fsck/super.c   |    9 ---------
 3 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/e2fsck/problem.c b/e2fsck/problem.c
index f042b89..579c838 100644
--- a/e2fsck/problem.c
+++ b/e2fsck/problem.c
@@ -362,11 +362,6 @@ static struct e2fsck_problem problem_table[] = {
 	  N_("@g descriptor %g marked uninitialized without feature set.\n"),
 	     PROMPT_FIX, PR_PREEN_OK },
 
-	/* group N block bitmap uninitialized but inode bitmap in use. */
-	{ PR_0_BB_UNINIT_IB_INIT,
-	  N_("@g %g @b @B uninitialized but @i @B in use.\n"),
-	     PROMPT_FIX, PR_PREEN_OK },
-
 	/* Group descriptor N has invalid unused inodes count. */
 	{ PR_0_GDT_ITABLE_UNUSED,
 	  N_("@g descriptor %g has invalid unused inodes count %b.  "),
diff --git a/e2fsck/problem.h b/e2fsck/problem.h
index 9db29d8..3fabc90 100644
--- a/e2fsck/problem.h
+++ b/e2fsck/problem.h
@@ -203,8 +203,8 @@ struct problem_context {
 /* Group descriptor N marked uninitialized without feature set. */
 #define PR_0_GDT_UNINIT				0x000036
 
-/* Block bitmap is not initialised and Inode bitmap is */
-#define PR_0_BB_UNINIT_IB_INIT			0x000037
+/* Block bitmap is not initialised and Inode bitmap is -- NO LONGER USED */
+/* #define PR_0_BB_UNINIT_IB_INIT			0x000037 */
 
 /* Group descriptor N has invalid unused inodes count. */
 #define PR_0_GDT_ITABLE_UNUSED			0x000038
diff --git a/e2fsck/super.c b/e2fsck/super.c
index afec4b4..3397d77 100644
--- a/e2fsck/super.c
+++ b/e2fsck/super.c
@@ -666,15 +666,6 @@ void check_super_block(e2fsck_t ctx)
 			ext2fs_unmark_valid(fs);
 		}
 
-		if (ext2fs_bg_flags_test(fs, i, EXT2_BG_BLOCK_UNINIT) &&
-		    !ext2fs_bg_flags_test(fs, i, EXT2_BG_INODE_UNINIT)) {
-			if (fix_problem(ctx, PR_0_BB_UNINIT_IB_INIT, &pctx)) {
-				ext2fs_bg_flags_clear(fs, i, EXT2_BG_BLOCK_UNINIT);
-				should_be = 1;
-			}
-			ext2fs_unmark_valid(fs);
-		}
-
 		if (csum_flag &&
 		    (ext2fs_bg_itable_unused(fs, i) > ext2fs_bg_free_inodes_count(fs, i) ||
 		     ext2fs_bg_itable_unused(fs, i) > sb->s_inodes_per_group)) {
-- 
1.7.9.107.g8e04a

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


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux