From: "Jose R. Santos" <jrs@us.ibm.com>
To: linux-ext4@vger.kernel.org
Subject: [PATCH 3/4][e2fsprogs] Relax group descriptor checking.
Date: Thu, 02 Aug 2007 23:00:59 -0500 [thread overview]
Message-ID: <20070803040059.29456.55756.stgit@gara> (raw)
In-Reply-To: <20070803040041.29456.31454.stgit@gara>
From: Jose R. Santos <jrs@us.ibm.com>
Relax group descriptor checking.
In order for tools such as dump2efs, e2fsck and debugfs to open a ext4
filesystem with FLEX_BG feature enable, some descriptor checking needs
to be relaxed. This patch changes the group desciptor checking so
that bitmaps and inode tables can be located anywhere in the
partitions block range.
Eventually, a more thorough check would restrict bitmaps and inode
tables to be located at the beginning of a flex block group range.
Since the super block does not currently know about the number of
groups per flex group, this will do for now.
Signed-off-by: Jose R. Santos <jrs@us.ibm.com>
--
e2fsck/super.c | 10 ++++++++--
lib/ext2fs/check_desc.c | 10 ++++++++--
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/e2fsck/super.c b/e2fsck/super.c
index 00a131c..8e58e5c 100644
--- a/e2fsck/super.c
+++ b/e2fsck/super.c
@@ -578,8 +578,14 @@ void check_super_block(e2fsck_t ctx)
for (i = 0, gd=fs->group_desc; i < fs->group_desc_count; i++, gd++) {
pctx.group = i;
- first_block = ext2fs_group_first_block(fs, i);
- last_block = ext2fs_group_last_block(fs, i);
+ if (EXT2_HAS_INCOMPAT_FEATURE (fs->super,
+ EXT4_FEATURE_INCOMPAT_FLEX_BG)) {
+ first_block = fs->super->s_first_data_block;
+ last_block = fs->super->s_blocks_count;
+ } else {
+ first_block = ext2fs_group_first_block(fs, i);
+ last_block = ext2fs_group_last_block(fs, i);
+ }
if ((gd->bg_block_bitmap < first_block) ||
(gd->bg_block_bitmap > last_block)) {
diff --git a/lib/ext2fs/check_desc.c b/lib/ext2fs/check_desc.c
index 146f9e5..bb65c06 100644
--- a/lib/ext2fs/check_desc.c
+++ b/lib/ext2fs/check_desc.c
@@ -38,8 +38,14 @@ errcode_t ext2fs_check_desc(ext2_filsys fs)
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
for (i = 0; i < fs->group_desc_count; i++) {
- first_block = ext2fs_group_first_block(fs, i);
- last_block = ext2fs_group_last_block(fs, i);
+ if (EXT2_HAS_INCOMPAT_FEATURE (fs->super, EXT4_FEATURE_INCOMPAT_FLEX_BG)) {
+ first_block = fs->super->s_first_data_block;
+ last_block = fs->super->s_blocks_count;
+ }
+ else {
+ first_block = ext2fs_group_first_block(fs, i);
+ last_block = ext2fs_group_last_block(fs, i);
+ }
/*
* Check to make sure block bitmap for group is
next prev parent reply other threads:[~2007-08-03 4:03 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-03 4:00 [PATCH 0/4][e2fsprogs] Enable FLEX_BG support Jose R. Santos
2007-08-03 4:00 ` [PATCH 1/4][e2fsprogs] Reserve the INCOMPAT feature number for FLEX_BG Jose R. Santos
2007-08-03 4:00 ` [PATCH 2/4][e2fsprogs] Allow FLEX_BG to be use as a feature option at mke2fs time Jose R. Santos
2007-08-03 4:00 ` Jose R. Santos [this message]
2007-08-03 5:24 ` [PATCH 3/4][e2fsprogs] Relax group descriptor checking Aneesh Kumar K.V
2007-08-03 12:17 ` Jose R. Santos
2007-08-03 18:22 ` Andreas Dilger
2007-08-03 20:05 ` Jose R. Santos
2007-08-03 4:01 ` [PATCH 4/4][e2fsprogs] New bitmap and inode table allocation for FLEX_BG Jose R. Santos
2007-08-03 6:31 ` Aneesh Kumar K.V
2007-08-03 12:27 ` Jose R. Santos
-- strict thread matches above, loose matches on Subject: below --
2007-08-14 4:32 [PATCH 0/4][e2fsprogs] Enable FLEX_BG support Jose R. Santos
2007-08-14 4:33 ` [PATCH 3/4][e2fsprogs] Relax group descriptor checking Jose R. Santos
2007-11-03 23:36 ` Theodore Tso
2007-11-05 14:53 ` Jose R. Santos
2007-11-05 15:41 ` Theodore Tso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070803040059.29456.55756.stgit@gara \
--to=jrs@us.ibm.com \
--cc=linux-ext4@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).