All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dilger, Andreas" <andreas.dilger@intel.com>
To: "linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>
Cc: Akira Fujita <a-fujita@rs.jp.nec.com>
Subject: Re: Bad flexbg_overhead calculation
Date: Wed, 30 Jul 2014 07:07:24 +0000	[thread overview]
Message-ID: <CFFDF44C.B4ADD%andreas.dilger@intel.com> (raw)
In-Reply-To: <CFFDA174.B4921%andreas.dilger@intel.com>

On 2014/07/29, 7:07 PM, "Dilger, Andreas" <andreas.dilger@intel.com> wrote:

>I was running the "f_random_corruption" test during a build (patches
>posted long ago), which formats filesystems with semi-random parameters,
>and then
>corrupts it and sees if e2fsck can fix it.  In this case, it failed during
>mke2fs, but without any obvious reason:
>
>./misc/mke2fs -j -t ext4 -b 4096 -I 1024 -O
>sparse_super,filetype,dir_index,resize_inode -F /tmp/tt 79106
>mke2fs 1.42.11 (09-Jul-2014)
>Creating regular file /tmp/tt
>/tmp/tt: Invalid argument passed to ext2 library while setting up
>superblock
>
>
>
>It looks like this is caused by the following check in
>ext2fs_initialize():
>
>        flexbg_overhead = super->s_first_data_block + 1 +
>		fs->desc_blocks + super->s_reserved_gdt_blocks +
>		(__u64)flexbg_size * (2 + fs->inode_blocks_per_group);
>
>	/*
>	 * Disallow creating ext4 which breaks flex_bg metadata layout
>	 * obviously.
>	 */
>	if (flexbg_overhead > ext2fs_blocks_count(fs->super)) {
>		retval = EXT2_ET_INVALID_ARGUMENT;
>		goto cleanup;
>	}
>
>I suspect the reason it is failing is due to "-I 1024", which is creating
>large inodes with extra xattr space, and this is confusing the flexbg
>check, though I don't think this should be considered an invalid option?

It seems this check/problem was introduced in commit d988201ef9cb6f7b521e5
"mke2fs: prevent creation of unmountable ext4 with large flex_bg count".
It looks like numerous combinations of -I with a larger inode size or
-N with more inodes than blocks can trigger this problem.

It looks like this was introduced just before 1.42.11, but I'd consider it
a blocker to get fixed before 1.42.12 is released.  Now let's see if I can
make a patch for it before I fly in the morning...

Cheers, Andreas
-- 
Andreas Dilger

Lustre Software Architect
Intel High Performance Data Division



      reply	other threads:[~2014-07-30  7:07 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-30  1:07 Bad flexbg_overhead calculation Dilger, Andreas
2014-07-30  7:07 ` Dilger, Andreas [this message]

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=CFFDF44C.B4ADD%andreas.dilger@intel.com \
    --to=andreas.dilger@intel.com \
    --cc=a-fujita@rs.jp.nec.com \
    --cc=linux-ext4@vger.kernel.org \
    /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.