linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] sanity check inode size vs inode ratio
@ 2007-05-14 23:03 Andreas Dilger
  2007-05-22 19:45 ` Theodore Tso
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Dilger @ 2007-05-14 23:03 UTC (permalink / raw)
  To: linux-ext4, Theodore Ts'o

A quick patch to sanity check the inode ratio vs the inode size.  In some
cases Lustre users have tried specifying an inode size of 4096 bytes, while
keeping an inode ratio of one inode per 4096 bytes, causing mke2fs to spin
forever trying to allocate the inode tables.  I'm sure more people will do
this now that large inodes are available in ext4 and documented in e2fsprogs.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>

======================== e2fsprogs-inode_ratio.patch ========================
--- misc/mke2fs.c	2007-05-01 05:52:35.000000000 -0600
+++ misc/mke2fs.c.sav	2007-05-14 16:53:10.000000000 -0600
@@ -1504,6 +1504,18 @@
 		((__u64) fs_param.s_blocks_count * blocksize)
 			/ inode_ratio;
 
+	if ((long long)fs_param.s_inodes_count *
+	    inode_size ?: EXT2_GOOD_OLD_INODE_SIZE >
+	    (long long)fs_param.s_blocks_count * EXT2_BLOCK_SIZE(&fs_param)) {
+		com_err(program_name, 0, _("inode_size %u * inodes_count %u "
+					  "too bit for filesystem size %lu,\n"
+					  "\tspecify higher inode_ratio (-i) "
+					  "or lower inode count (-N)\n"),
+			inode_size ?: EXT2_GOOD_OLD_INODE_SIZE,
+			fs_param.s_inodes_count, fs_param.s_blocks_count);
+		exit(1);
+	}
+
 	/*
 	 * Calculate number of blocks to reserve
 	 */
======================== e2fsprogs-inode_ratio.patch ========================
Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-05-24  9:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-14 23:03 [PATCH] sanity check inode size vs inode ratio Andreas Dilger
2007-05-22 19:45 ` Theodore Tso
2007-05-24  9:38   ` Andreas Dilger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).