Linux EXT4 FS development
 help / color / mirror / Atom feed
From: TR Reardon <thomas_reardon@hotmail.com>
To: Eric Sandeen <sandeen@redhat.com>,
	"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>,
	"darrick.wong@oracle.com" <darrick.wong@oracle.com>
Subject: RE: resize2fs problem with stride calc
Date: Sun, 21 Sep 2014 18:32:53 -0400	[thread overview]
Message-ID: <BAY179-W21A504DA0A8A8D30C139F3FDB20@phx.gbl> (raw)
In-Reply-To: <541EF912.7000801@redhat.com>

> Date: Sun, 21 Sep 2014 11:13:06 -0500
> From: sandeen@redhat.com
>
> On 9/20/14 3:46 PM, TR Reardon wrote:
>> resize2fs seems to come up with some crazy default stride numbers.
>> This occurs with and without bigalloc.
>>
>>
>> I was testing enabling/disabling 64bit using latest patches from DJW,
>> and noticed that s_raid_stride was being written with nonsensical
>> values, in particular determine_fs_stride() is coming up with overly
>> large values. The code is old (2006) and lacks comment so I'm not
>> sure what the intended operation is. Does this just need to be
>> updated for flex_bg? Should s_raid_stride ever be auto-changed on
>> resize? If it should change, should stripe also change?
>
> That old commit says:
>
> + In addition, add code so that resize2fs can automatically
> + determine the RAID stride parameter that had been
> + previously used on the filesystem.
>
> but a year later, in 2007, this:
>
> commit 96c6a3acd377698cb99ffd9925bec9b20ca4f6f9
> Author: Theodore Ts'o <tytso@mit.edu>
> Date: Fri May 18 22:06:53 2007 -0400
>
> Store the RAID stride value in the superblock and take advantage of it
>
> stored it properly in the superblock (this hit e2fsprogs-1.40).
>
> So maybe the whole heuristic could just be removed now, but from a simple
> test, it's working here.

Have you tried to test with flex_bg?  I think that's what raises the problem.

>
> What was the geometry (dumpe2fs -h) of your filesystem before the resize?

Here is one example.  I am changing _only_ the bitness, geometry stays the same 
other than changes to reserved GDT.

Prior to resize2fs -b :

...
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file dir_nlink extra_isize bigalloc metadata_csum
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              715776
Block count:              732566384
Reserved block count:     0
Free blocks:              13977472
Free inodes:              714665
First block:              0
Block size:               4096
Cluster size:             65536
Reserved GDT blocks:      53
Blocks per group:         524288
Clusters per group:       32768
Inodes per group:         512
Inode blocks per group:   32
Flex block group size:    16
...
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
...


And following resize2fs -b:

Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize bigalloc metadata_csum
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              715776
Block count:              732566384
Reserved block count:     0
Free blocks:              13977472
Free inodes:              714665
First block:              0
Block size:               4096
Cluster size:             65536
Group descriptor size:    64
Reserved GDT blocks:      42
Blocks per group:         524288
Clusters per group:       32768
Inodes per group:         512
Inode blocks per group:   32
RAID stride:              65520
Flex block group size:    16
...
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
...


 		 	   		  --
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2014-09-21 22:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-20 20:46 resize2fs problem with stride calc TR Reardon
2014-09-21 16:13 ` Eric Sandeen
2014-09-21 22:32   ` TR Reardon [this message]
2014-09-29 20:59     ` Darrick J. Wong
2014-09-29 22:46       ` Andreas Dilger

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=BAY179-W21A504DA0A8A8D30C139F3FDB20@phx.gbl \
    --to=thomas_reardon@hotmail.com \
    --cc=darrick.wong@oracle.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=sandeen@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox