pass1.c (e2fsck_pass1), problem.h (PR_1_BB_FS_BLOCK), 
  problem.c (PR_1_BB_FS_BLOCK, PR_1_BBINODE_BAD_METABLOCK_PROMPT): 
	Fix up the handling of corrupted indirect blocks in the 
	bad block.  We now correctly handle the case where there
	is an overlap between a block group descriptor or
	a superblock and a bad block indirect block.  In the case
	where the indirect block is corrupted, we now suggest
	"e2fsck -c".

diff --git a/e2fsck/problem.c b/e2fsck/problem.c
index cc50bf1..a164bb5 100644
--- a/e2fsck/problem.c
+++ b/e2fsck/problem.c
@@ -422,15 +422,14 @@
 
 	/* Bad block used as bad block indirect block */	  
 	{ PR_1_BBINODE_BAD_METABLOCK,
-	  N_("Bad @b %b used as bad @b indirect @b?!?\n"),
-	  PROMPT_NONE, PR_AFTER_CODE, PR_1_BBINODE_BAD_METABLOCK_PROMPT },
+	  N_("Bad @b %b used as bad @b @i indirect @b.  "),
+	  PROMPT_CLEAR, PR_LATCH_BBLOCK },
 
 	/* Inconsistency can't be fixed prompt */	  
 	{ PR_1_BBINODE_BAD_METABLOCK_PROMPT,
-	  N_("\nThis inconsistency can not be fixed with e2fsck; to fix it, use\n"
-	  """dumpe2fs -b"" to dump out the bad @b "
-	  "list and ""e2fsck -L filename""\n"
-	  "to read it back in again.\n"),
+	  N_("\nThe bad @b @i has probably been corrupted.  You probably\n"
+	     "should stop now and run ""e2fsck -c"" to scan for bad blocks\n"
+	     "in the @f.\n"),
 	  PROMPT_CONTINUE, PR_PREEN_NOMSG },
 
 	/* Bad primary block */
@@ -703,6 +702,12 @@
 	  N_("@h %i has a tree depth (%N) which is too big\n"),
 	  PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 		  
+	/* Bad block has indirect block that conflicts with filesystem block */
+	{ PR_1_BB_FS_BLOCK,
+	  N_("Bad @b @i has an indirect @b (%b) that conflicts with\n"
+	     "@f metadata.  "),
+	  PROMPT_CLEAR, PR_LATCH_BBLOCK },
+		  
 	/* Pass 1b errors */
 
 	/* Pass 1B: Rescan for duplicate/bad blocks */