ChangeLog, e2fsck.8.in, unix.c:
  unix.c (main): In the case where the filesystem revision is too high,
  	print the message about the superblock possibly being corrupt.
  e2fsck.8.in: Add expanded comments about how the -b option works.

diff --git a/e2fsck/ChangeLog b/e2fsck/ChangeLog
index bee6f1e..1f80af2 100644
--- a/e2fsck/ChangeLog
+++ b/e2fsck/ChangeLog
@@ -1,3 +1,12 @@
+Tue Jan 20 15:37:01 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+	* unix.c (main): In the case where the filesystem revision is too
+ 		high, print the message about the superblock possibly
+ 		being corrupt.
+
+	* e2fsck.8.in: Add expanded comments about how the -b option
+		works. 
+
 Sat Jan 17 13:02:16 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
 	* e2fsck.h: If EXT2_FLAT_INCLUDES is defined, then assume all of
diff --git a/e2fsck/e2fsck.8.in b/e2fsck/e2fsck.8.in
index 9cf9035..03cbd68 100644
--- a/e2fsck/e2fsck.8.in
+++ b/e2fsck/e2fsck.8.in
@@ -40,9 +40,14 @@
 option whenever possible.
 .TP
 .I -b superblock
-Instead of using the normal superblock, use the alternative superblock
+Instead of using the normal superblock, use an alternative superblock
 specified by 
-.IR superblock .
+.IR superblock .  This option is normally used when the primary superblock 
+has been corrupted; most filesystems have primary superblocks located at 
+blocks 8193, 16385, etc.  If an alternative superblock is specified and 
+the filesystem is not opened read-only, e2fsck will make sure that the
+primary superblock is updated appropriately upon completion of the 
+filesystem check.
 .TP
 .I -B blocksize
 Normally, 
diff --git a/e2fsck/unix.c b/e2fsck/unix.c
index b6e68ff..10b3e8a 100644
--- a/e2fsck/unix.c
+++ b/e2fsck/unix.c
@@ -494,10 +494,14 @@
 	if (retval) {
 		com_err(ctx->program_name, retval, "while trying to open %s",
 			ctx->filesystem_name);
-		if (retval == EXT2_ET_REV_TOO_HIGH)
-			printf ("Get a newer version of e2fsck!\n");
-		else if (retval == EXT2_ET_SHORT_READ)
-			printf ("Could this be a zero-length partition?\n");
+		if (retval == EXT2_ET_REV_TOO_HIGH) {
+			printf("The filesystem revision is apparently "
+			       "too high for this version of e2fsck.\n"
+			       "(Or the filesystem superblock "
+			       "is corrupt)\n\n");
+			fix_problem(ctx, PR_0_SB_CORRUPT, &pctx);
+		} else if (retval == EXT2_ET_SHORT_READ)
+			printf("Could this be a zero-length partition?\n");
 		else if ((retval == EPERM) || (retval == EACCES))
 			printf("You must have %s access to the "
 			       "filesystem or be root\n",
@@ -510,7 +514,6 @@
 			printf("Disk write-protected; use the -n option"
 			       "to do a read-only\n"
 			       "check of the device.\n");
-
 #endif
 		else
 			fix_problem(ctx, PR_0_SB_CORRUPT, &pctx);