Add support for creating and checking 8192-byte blocksize filesystems.
We complain if you try to create such a filesystem on a system with 4096
byte PAGE_SIZE.

Add checks for valid inode size for undocumented -I option.

diff --git a/e2fsck/unix.c b/e2fsck/unix.c
index e424ac7..e231888 100644
--- a/e2fsck/unix.c
+++ b/e2fsck/unix.c
@@ -51,8 +51,6 @@
 static int replace_bad_blocks = 0;
 static char *bad_blocks_file = 0;
 
-static int possible_block_sizes[] = { 1024, 2048, 4096, 8192, 0};
-
 static int root_filesystem = 0;
 static int read_only_root = 0;
 
@@ -663,7 +661,6 @@
 {
 	errcode_t	retval = 0;
 	int		exit_value = FSCK_OK;
-	int		i;
 	ext2_filsys	fs = 0;
 	io_manager	io_ptr;
 	struct ext2_super_block *sb;
@@ -742,10 +739,11 @@
 				     ctx->superblock, ctx->blocksize,
 				     io_ptr, &fs);
 	} else if (ctx->superblock) {
-		for (i=0; possible_block_sizes[i]; i++) {
+		int blocksize;
+		for (blocksize = EXT2_MIN_BLOCK_SIZE;
+		     blocksize <= EXT2_MAX_BLOCK_SIZE; blocksize *= 2) {
 			retval = ext2fs_open(ctx->filesystem_name, flags,
-					     ctx->superblock,
-					     possible_block_sizes[i],
+					     ctx->superblock, blocksize,
 					     io_ptr, &fs);
 			if (!retval)
 				break;