LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Andreas Dilger <adilger.kernel@dilger.ca>
To: djwong@us.ibm.com
Cc: "Theodore Ts'o" <tytso@mit.edu>,
linux-ext4 <linux-ext4@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/2] e2fsprogs: Add support for toggling, verifying, and fixing inode checksums
Date: Fri, 8 Apr 2011 03:14:04 -0600 [thread overview]
Message-ID: <A63BE624-6F88-432C-A029-C7A0DF6C2894@dilger.ca> (raw)
In-Reply-To: <20110406224733.GU32706@tux1.beaverton.ibm.com>
On 2011-04-06, at 4:47 PM, Darrick J. Wong wrote:
> This patch adds to tune2fs the ability to toggle the inode checksum rocompat
> feature flag, to e2fsck the ability to verify and correct inode checksums, and
> to debugfs the ability to dump inode checksums.
>
> Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
> ---
> @@ -729,6 +729,13 @@ void e2fsck_pass1(e2fsck_t ctx)
> + /* Check for invalid inode checksum */
> + if (!ext2fs_inode_csum_verify(fs, ino,
> + (struct ext2_inode_large *)inode) &&
> + fix_problem(ctx, PR_1_INODE_CSUM_INVALID, &pctx))
> + e2fsck_write_inode_full(ctx, ino, inode,
> + sizeof(struct ext2_inode_large), "pass1");
If we just correct the checksum when it is found to be incorrect, then there is relatively little benefit in having it at all? The default action in this case would likely be to declare the inode invalid and clears it, but there also needs to be a fallback option that declares the only checksum invalid and corrects it.
Do you have an e2fsck testcase for this code, to show that it detects/fixes inodes with data corruption, and to fix the checksums after the ROCOMPAT flag is set the first time?
With the "ibadness" patch in our tree, the bad checksum should be a significant factor in marking the inode as garbage, but possibly not enough to have it thrown out if there are no other errors in the inode.
> @@ -890,6 +890,11 @@ static struct e2fsck_problem problem_table[] = {
> "(size %Is, lblk %r)\n"),
> PROMPT_CLEAR, PR_PREEN_OK },
>
> + /* Fast symlink has EXTENTS_FL set */
> + { PR_1_INODE_CSUM_INVALID,
> + N_("inode %i checksum invalid. "),
The comment for each problem should exactly mirror the text that is printed. In this case, you haven't used the abbreviations "@i" and "@n", which would normally make it much harder to search for this error string in the code, but also simplifies the translation of the message.
Cheers, Andreas
next prev parent reply other threads:[~2011-04-08 9:14 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-06 22:44 [PATCH 0/2] Add inode checksum support to ext4 Darrick J. Wong
2011-04-06 22:45 ` [PATCH 1/2] ext4: Calculate and verify inode checksums Darrick J. Wong
2011-04-07 0:52 ` Sunil Mushran
2011-04-07 16:40 ` Darrick J. Wong
2011-04-07 17:10 ` Sunil Mushran
2011-04-08 18:50 ` Joel Becker
2011-04-08 19:30 ` Darrick J. Wong
2011-04-08 8:58 ` Andreas Dilger
2011-04-08 19:12 ` Darrick J. Wong
2011-04-08 22:49 ` Andreas Dilger
2011-04-06 22:47 ` [PATCH 2/2] e2fsprogs: Add support for toggling, verifying, and fixing " Darrick J. Wong
2011-04-08 9:14 ` Andreas Dilger [this message]
2011-04-08 19:25 ` Darrick J. Wong
2011-04-08 23:13 ` Andreas Dilger
2011-04-12 2:05 ` Darrick J. Wong
2011-04-08 19:27 ` [PATCH 0/2] Add inode checksum support to ext4 Mingming Cao
2011-04-08 20:17 ` Joel Becker
2011-07-27 8:27 ` Darrick J. Wong
2011-07-27 9:16 ` Andreas Dilger
2011-07-28 16:56 ` Darrick J. Wong
[not found] ` <CAOQ4uxiOpwX2-Nfh9wJ7wSmAnbj9bh1+d9C95-N5D-8saRr6ww@mail.gmail.com>
2011-07-28 18:57 ` Darrick J. Wong
2011-07-29 9:55 ` Andreas Dilger
2011-07-28 22:07 ` Joel Becker
2011-07-29 9:48 ` Andreas Dilger
2011-07-29 13:19 ` Joel Becker
2011-07-30 7:25 ` Coly Li
2011-07-31 7:08 ` Joel Becker
2011-07-31 23:52 ` Coly Li
2011-08-01 4:57 ` Joel Becker
2011-08-01 5:04 ` Joel Becker
2011-08-01 7:16 ` Coly Li
2011-04-20 17:40 ` Andi Kleen
2011-04-20 22:54 ` Darrick J. Wong
2011-04-21 0:25 ` Andreas Dilger
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=A63BE624-6F88-432C-A029-C7A0DF6C2894@dilger.ca \
--to=adilger.kernel@dilger.ca \
--cc=djwong@us.ibm.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tytso@mit.edu \
--subject='Re: [PATCH 2/2] e2fsprogs: Add support for toggling, verifying, and fixing inode checksums' \
/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
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).