  #include <fcntl.h>
 +#include <sys/types.h>
 +#include <getopt.h>
-+
+ 
 +#define HASH_SIZE	311		/* Should be prime */
 +#define hash_inode(i)	((i) % HASH_SIZE)
-+
+ 
 +typedef struct ino_dev_hash_bucket_struct {
 +	struct ino_dev_hash_bucket_struct *next;
 +	ino_t ino;
 +	dev_t dev;
 +	char name[1];
 +} ino_dev_hashtable_bucket_t;
-+
+ 
 +static ino_dev_hashtable_bucket_t *ino_dev_hashtable[HASH_SIZE];
 +
 +struct stats {

 	if(optind < (argc - 1))
 		error_msg_and_die("too many arguments");
 	if(optind == (argc - 1))
@@ -2201,6 +2411,46 @@
 	}
 	else
 	{
+		stats.ninodes = 0;
+		stats.nblocks = 0;
+		for(i = 0; i < didx; i++)

+			printf("Number of inodes too low, increasing to %d\n",tmp_nbinodes);
+			nbinodes = tmp_nbinodes;
+		}
+
+		if(nbblocks == -1)
+			error_msg_and_die("filesystem size unspecified");
 		fs = init_fs(nbblocks, nbinodes, nbresrvd, holes);
 	}
 	for(i = 0; i < didx; i++)
