linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tune2fs: Disallow tune2fs to set inode size larger than block size
@ 2013-04-18  8:10 Akira Fujita
  2013-04-22  3:17 ` Theodore Ts'o
  0 siblings, 1 reply; 2+ messages in thread
From: Akira Fujita @ 2013-04-18  8:10 UTC (permalink / raw)
  To: Theodore Tso; +Cc: ext4 development

Disallow tune2fs command to set inode size larger than
block size to ext3 and ext4 (^flex_bg).
Without this patch, tune2fs makes FS 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 <a-fujita@rs.jp.nec.com>
---
 misc/tune2fs.c | 8 ++++++++
 1 file changed, 8 insertions(+)
diff --git a/misc/tune2fs.c b/misc/tune2fs.c
index c1ecae8..17e5335 100644
--- a/misc/tune2fs.c
+++ b/misc/tune2fs.c
@@ -2370,6 +2370,14 @@ retry_open:
 			rc = 1;
 			goto closefs;
 		}
+		if ((new_inode_size > fs->blocksize) &&
+       			!(fs->super->s_feature_incompat &
+				EXT4_FEATURE_INCOMPAT_FLEX_BG)) {
+			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

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

end of thread, other threads:[~2013-04-22  3:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-18  8:10 [PATCH] tune2fs: Disallow tune2fs to set inode size larger than block size Akira Fujita
2013-04-22  3:17 ` Theodore Ts'o

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).