diff mbox

[08/18] e2fsck: fix the various checksum error messages

Message ID 20140726003428.28334.68886.stgit@birch.djwong.org
State Accepted, archived
Headers show

Commit Message

Darrick Wong July 26, 2014, 12:34 a.m. UTC
Make the "EA block passes checks but fails checksum" message less
strange, and make the other checksum error messages actually print a
period at the end of the sentence.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
 e2fsck/problem.c |   26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)



--
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

Comments

Theodore Ts'o July 26, 2014, 9:09 p.m. UTC | #1
On Fri, Jul 25, 2014 at 05:34:28PM -0700, Darrick J. Wong wrote:
> Make the "EA block passes checks but fails checksum" message less
> strange, and make the other checksum error messages actually print a
> period at the end of the sentence.
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

Applied (with some slight adjustments since I haven't pulled in the
previous patch pending discussion).  I note that there was no need to
adjust any of the expected messages in the e2fsprogs regression tests.

This indicates that we don't have enough (well, any) regression tests
covering the metadata checksum feature.  :-(

						- Ted
--
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
Darrick Wong July 28, 2014, 7:57 a.m. UTC | #2
On Sat, Jul 26, 2014 at 05:09:53PM -0400, Theodore Ts'o wrote:
> On Fri, Jul 25, 2014 at 05:34:28PM -0700, Darrick J. Wong wrote:
> > Make the "EA block passes checks but fails checksum" message less
> > strange, and make the other checksum error messages actually print a
> > period at the end of the sentence.
> > 
> > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> 
> Applied (with some slight adjustments since I haven't pulled in the
> previous patch pending discussion).  I note that there was no need to
> adjust any of the expected messages in the e2fsprogs regression tests.
> 
> This indicates that we don't have enough (well, any) regression tests
> covering the metadata checksum feature.  :-(

That's what the metadata checksum test script was supposed to be about.  I'm
not sure if it's actually getting through to anyone -- Google doesn't seem to
have any links to it.

It's a big script that takes a bunch of mke2fs flags and runs through a bunch
of corruption detection tests to see if the running kernel and e2fsck notice.
The nice thing about the script is that it can cycle through a lot of different
features, block sizes, etc. pretty quickly, which seems difficult to do with
the plain 'make check' tests.

I could look into turning them into a bunch of ext4 xfstests.

--D
> 
> 						- Ted
> --
> 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
diff mbox

Patch

diff --git a/e2fsck/problem.c b/e2fsck/problem.c
index a56511a..8440052 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. */
+	/* Inode extended attribute block checksum does not match block. */
 	{ PR_1_EA_BLOCK_CSUM_INVALID,
-	  N_("Extended attribute @a @b %b checksum for @i %i does not "
-	     "match.  "),
+	  N_("@i %i @a @b %b checksum does not match block.  "),
 	  PROMPT_CLEAR, PR_INITIAL_CSUM },
 
 	/*
-	 * Extended attribute block passes checks, but checksum for inode does
-	 * not match.
+	 * Inode extended attribute block passes checks, but checksum does not
+	 * match block.
 	 */
 	{ PR_1_EA_BLOCK_ONLY_CSUM_INVALID,
-	  N_("Extended attribute @a @b %b passes checks, but checksum for "
-	     "@i %i does not match.  "),
+	  N_("@i %i @a @b %b passes checks, but checksum does not match block.  "),
 	  PROMPT_FIX, 0 },
 
 	/*
@@ -1482,27 +1480,27 @@  static struct e2fsck_problem problem_table[] = {
 
 	/* htree root node fails checksum */
 	{ PR_2_HTREE_ROOT_CSUM_INVALID,
-	  N_("@p @h %d: root node fails checksum\n"),
+	  N_("@p @h %d: root node fails checksum.\n"),
 	  PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
 	/* htree internal node fails checksum */
 	{ PR_2_HTREE_NODE_CSUM_INVALID,
-	  N_("@p @h %d: internal node fails checksum\n"),
+	  N_("@p @h %d: internal node fails checksum.\n"),
 	  PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
 	/* leaf node fails checksum */
 	{ PR_2_LEAF_NODE_CSUM_INVALID,
-	  N_("@d @i %i, %B, offset %N: @d fails checksum\n"),
+	  N_("@d @i %i, %B, offset %N: @d fails checksum.\n"),
 	  PROMPT_SALVAGE, PR_PREEN_OK | PR_INITIAL_CSUM },
 
 	/* leaf node has no checksum */
 	{ PR_2_LEAF_NODE_MISSING_CSUM,
-	  N_("@d @i %i, %B, offset %N: @d has no checksum\n"),
+	  N_("@d @i %i, %B, offset %N: @d has no checksum.\n"),
 	  PROMPT_FIX, PR_PREEN_OK },
 
 	/* leaf node passes checks but fails checksum */
 	{ PR_2_LEAF_NODE_ONLY_CSUM_INVALID,
-	  N_("@d @i %i, %B, offset %N: @d passes checks but fails checksum\n"),
+	  N_("@d @i %i, %B, offset %N: @d passes checks but fails checksum.\n"),
 	  PROMPT_FIX, PR_PREEN_OK },
 
 	/* Pass 3 errors */
@@ -1828,12 +1826,12 @@  static struct e2fsck_problem problem_table[] = {
 
 	/* Group N inode bitmap does not match checksum */
 	{ PR_5_INODE_BITMAP_CSUM_INVALID,
-	  N_("@g %g @i bitmap does not match checksum\n"),
+	  N_("@g %g @i bitmap does not match checksum.\n"),
 	  PROMPT_FIX, PR_LATCH_IBITMAP | PR_PREEN_OK },
 
 	/* Group N block bitmap does not match checksum */
 	{ PR_5_BLOCK_BITMAP_CSUM_INVALID,
-	  N_("@g %g @b bitmap does not match checksum\n"),
+	  N_("@g %g @b bitmap does not match checksum.\n"),
 	  PROMPT_FIX, PR_LATCH_BBITMAP | PR_PREEN_OK },
 
 	/* Post-Pass 5 errors */