From: Akira Fujita Date: Mon, 22 Apr 2013 03:14:28 +0000 (-0400) Subject: tune2fs: disallow tune2fs to set inode size larger than block size X-Git-Tag: v1.42.8~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fab0d286ec8539988551271c5faa864ea38dc4d4;p=thirdparty%2Fe2fsprogs.git tune2fs: disallow tune2fs to set inode size larger than block size Disallow tune2fs command to set the inode size to be larger than the block size. Without this patch, tune2fs makes the file system to be unmountable. Steps to reproduce: 1.Create ext4 without flex_bg (or just create ext3) # mke2fs -t ext4 -O ^flex_bg DEV 2.Set inode size larger than block size # tune2fs -I 8192 DEV 3. We failed to mount FS # mount DEV MP mount: wrong fs type, bad option, bad superblock on /dev/sda7, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" --- diff --git a/misc/tune2fs.c b/misc/tune2fs.c index 849f3a0e0..47a7711f7 100644 --- a/misc/tune2fs.c +++ b/misc/tune2fs.c @@ -1944,6 +1944,12 @@ retry_open: rc = 1; goto closefs; } + if (new_inode_size > fs->blocksize) { + fprintf(stderr, _("Invalid inode size %lu (max %d)\n"), + new_inode_size, fs->blocksize); + rc = 1; + goto closefs; + } /* * If inode resize is requested use the