All of lore.kernel.org
 help / color / mirror / Atom feed
From: Akira Fujita <a-fujita@rs.jp.nec.com>
To: Theodore Tso <tytso@mit.edu>
Cc: ext4 development <linux-ext4@vger.kernel.org>
Subject: [PATCH] tune2fs: Disallow tune2fs to set inode size larger than block size
Date: Thu, 18 Apr 2013 17:10:38 +0900	[thread overview]
Message-ID: <516FAA7E.3040604@rs.jp.nec.com> (raw)

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

             reply	other threads:[~2013-04-18  8:17 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-18  8:10 Akira Fujita [this message]
2013-04-22  3:17 ` [PATCH] tune2fs: Disallow tune2fs to set inode size larger than block size Theodore Ts'o

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=516FAA7E.3040604@rs.jp.nec.com \
    --to=a-fujita@rs.jp.nec.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.