ChangeLog, e2fsck.h, message.c, pass1.c, pass2.c, problem.c, problem.h:
  message.c: Add compression for the word "Illegal"
  problem.c: Added entries for PR_2_BAD_CHAR_DEV and PR_2_BAD_BLOCK_DEV
  pass1.c (pass1, check_device_inode), pass2.c (process_bad_inode): Use
  	a more stringent test for a valid device.
ChangeLog, Makefile.in:
  Makefile.in (install): Fix rm command to use $(DESTDIR) appropriately.

diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c
index 4c987f3..2c52944 100644
--- a/e2fsck/pass2.c
+++ b/e2fsck/pass2.c
@@ -556,6 +556,24 @@
 			return 1;
 		}
 	}
+
+	if (LINUX_S_ISCHR(inode.i_mode)
+	    && !e2fsck_pass1_check_device_inode(&inode)) {
+		if (fix_problem(fs, PR_2_BAD_CHAR_DEV, &pctx)) {
+			deallocate_inode(fs, ino, 0);
+			return 1;
+		}
+	}
+		
+	if (LINUX_S_ISBLK(inode.i_mode)
+	    && !e2fsck_pass1_check_device_inode(&inode)) {
+		if (fix_problem(fs, PR_2_BAD_BLOCK_DEV, &pctx)) {
+			deallocate_inode(fs, ino, 0);
+			return 1;
+		}
+	}
+
+		
 	if (inode.i_faddr &&
 	    fix_problem(fs, PR_2_FADDR_ZERO, &pctx)) {
 		inode.i_faddr = 0;