ChangeLog, e2fsck.h, pass1.c, pass2.c, pass4.c, swapfs.c:
  e2fsck.h:
  pass1.c (pass1_get_blocks, pass1_read_inode, pass1_write_inode,
  	pass1_check_directory, e2fsck_use_inode_shortcuts): Make pass1_* be
  	private static functions, and create new function
  	e2fsck_use_inode_shortcuts which sets and clears the inode shortcut
  	functions in the fs structure.
  e2fsck.h:
  pass2.c (e2fsck_process_bad_inode): Make process_bad_inode() an
  	exported function.
  pass4.c (e2fsck_pass4): Call e2fsck_process_bad_inode to check if a
  	disconnected inode has any problems before connecting it to
  	/lost+found.  Bug and suggested fix by Pavel Machek <pavel@bug.ucw.cz>
ChangeLog, swapfs.c:
  swapfs.c (ext2fs_swap_inode): Add compatibility for Linux 2.3 kernels
  	that use i_generation instead of i_version.  Patch supplied by Jon
  	Bright <sircus@sircus.demon.co.uk>.
ChangeLog, mke2fs.8.in:
  mke2fs.8.in: Fix typo in man page which caused the badblocks command
  	to not show up in the "SEE ALSO" section.
ChangeLog, expect.1, expect.2, image.gz, name:
  f_recnect_bad: New test which checks the case where a disconnect inode
  	also bad inode fields; we need to make sure e2fsck offers to fix the
  	inode (or clear the inode, as necessary).

diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c
index 5453c61..38c1eda 100644
--- a/e2fsck/pass2.c
+++ b/e2fsck/pass2.c
@@ -48,7 +48,6 @@
  */
 static void deallocate_inode(e2fsck_t ctx, ino_t ino,
 			     char* block_buf);
-static int process_bad_inode(e2fsck_t ctx, ino_t dir, ino_t ino);
 static int check_dir_block(ext2_filsys fs,
 			   struct ext2_db_entry *dir_blocks_info,
 			   void *priv_data);
@@ -451,7 +450,8 @@
 		if (ctx->inode_bad_map &&
 		    ext2fs_test_inode_bitmap(ctx->inode_bad_map,
 					     dirent->inode)) {
-			if (process_bad_inode(ctx, ino, dirent->inode)) {
+			if (e2fsck_process_bad_inode(ctx, ino,
+						     dirent->inode)) {
 				dirent->inode = 0;
 				dir_modified++;
 				goto next;
@@ -585,7 +585,7 @@
 	}
 }
 
-static int process_bad_inode(e2fsck_t ctx, ino_t dir, ino_t ino)
+extern int e2fsck_process_bad_inode(e2fsck_t ctx, ino_t dir, ino_t ino)
 {
 	ext2_filsys fs = ctx->fs;
 	struct ext2_inode	inode;