Re: [PATCH 11/37] e2fsck: fix the extended attribute checksum error message

Darrick J. Wong
2014-05-05T23:08:35Z

On Fri, May 02, 2014 at 02:46:56PM +0200, Lukáš Czerner wrote:
> On Thu, 1 May 2014, Darrick J. Wong wrote:
>
> > Date: Thu, 01 May 2014 16:13:34 -0700
> > From: Darrick J. Wong <darrick.wong@oracle.com>
> > To: tytso@mit.edu, darrick.wong@oracle.com
> > Cc: linux-ext4@vger.kernel.org
> > Subject: [PATCH 11/37] e2fsck: fix the extended attribute checksum error
> > message
> >
> > Make the "EA block passes checks but fails checksum" message less
> > strange.
> >
> > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> > ---
> > e2fsck/problem.c | 12 +++++-------
> > 1 file changed, 5 insertions(+), 7 deletions(-)
> >
> >
> > diff --git a/e2fsck/problem.c b/e2fsck/problem.c
> > index 0999399..ec20bd1 100644
> > --- a/e2fsck/problem.c
> > +++ b/e2fsck/problem.c
> > @@ -992,19 +992,17 @@ static struct e2fsck_problem problem_table[] = {
> > "extent\n\t(logical @b %c, @n physical @b %b, len %N)\n"),
> > PROMPT_FIX, 0 },
> >
> > - /* Extended attribute block checksum for inode does not match. */
> > + /* Extended attribute block checksum does not match. */
>
> The "for inode" is still there in the message, so I do not think
> there is a reason to remove it from the comment.

Oops.

> > { PR_1_EA_BLOCK_CSUM_INVALID,
> > - N_("Extended attribute @a @b %b checksum for @i %i does not "
> > - "match. "),
> > + N_("@a @b %b checksum for @i %i does not match. "),
> > PROMPT_CLEAR, PR_INITIAL_CSUM },
> >
> > /*
> > - * Extended attribute block passes checks, but checksum for inode does
> > - * not match.
> > + * Extended attribute block passes checks, but checksum does not
> > + * match.
> > */
> > { PR_1_EA_BLOCK_ONLY_CSUM_INVALID,
> > - N_("Extended attribute @a @b %b passes checks, but checksum for "
> > - "@i %i does not match. "),
> > + N_("@a @b %b passes checks, but checksum does not match. "),
>
> Is there a reason to remove the inode number from the message ?

For whatever reason, I was confused by this message and thought it was
referring to a checksum failure in the inode itself. On the other hand, it's
helpful to map an EA block back to an inode, so perhaps the message should be
changed to:

"Inode XXX's extended attribute block YYY passes checks, but checksum does not
match."

Now that I look at the other metadata_csum checks, the failure message starts
with "@i %i..." so these two might as well follow the convention. Sorry that I
seem to have strayed from it.

--D
>
> Thanks!
> -Lukas
>
> > PROMPT_FIX, 0 },
> >
> > /*
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html