From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: cmm@us.ibm.com, tytso@mit.edu, linux-ext4@vger.kernel.org
Subject: Re: [PATCH] ext4: Use superblock s_raid_stripe_width as stripe size during block allocation.
Date: Thu, 10 Jan 2008 09:58:59 +0530 [thread overview]
Message-ID: <20080110042859.GB8271@skywalker> (raw)
In-Reply-To: <20080109233627.GB3351@webber.adilger.int>
On Wed, Jan 09, 2008 at 04:36:27PM -0700, Andreas Dilger wrote:
> On Jan 09, 2008 22:37 +0530, Aneesh Kumar K.V wrote:
> > The stipe size used during block allocation is calculated as below.
> > a) if we specify a stripe=<value> option using mount time. Use that value.
> > b) if not use the value specified in super block.
> > b) If the value specfied at mount time is greater than blocks per group use
> > the value specified ini the super block.
>
> What if the value on disk is also bad? I'd add (after the second 'b' :-):
>
> d) if s_stripe is still > s_blocks_per_group try s_raid_stride
> e) if s_stripe is still > s_blocks_per_group use 0
But i guess mke2fs and tune2fs should validate the value of
s_raid_stripe_width and s_raid_stride. Both of them should be less that
blocks per group. Should I add extra check in the kernel for them ?
>
> > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
> > ---
> > fs/ext4/super.c | 10 ++++++++++
> > 1 files changed, 10 insertions(+), 0 deletions(-)
> >
> > diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> > index db1edc8..10330eb 100644
> > --- a/fs/ext4/super.c
> > +++ b/fs/ext4/super.c
> > @@ -2136,6 +2136,16 @@ static int ext4_fill_super (struct super_block *sb, void *data, int silent)
> > sbi->s_rsv_window_head.rsv_alloc_hit = 0;
> > sbi->s_rsv_window_head.rsv_goal_size = 0;
> > ext4_rsv_window_add(sb, &sbi->s_rsv_window_head);
> > + /*
> > + * set the stripe size. If we have specified it via mount option, then
> > + * use the mount option value. If the value specified at mount time is
> > + * greater than the blocks per group use the super block value.
> > + * Allocator needs it be less than blocks per group.
> > + */
> > + if (!sbi->s_stripe ||
> > + sbi->s_stripe >= sbi->s_blocks_per_group) {
>
So what do you think should it be > or >=. Looking at the mballoc I
guess it should work with stripe size equal to blocks per group. I am
not sure how efficient the allocation would be though.
-aneesh
next prev parent reply other threads:[~2008-01-10 4:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-09 17:07 [PATCH] ext4: Use superblock s_raid_stripe_width as stripe size during block allocation Aneesh Kumar K.V
2008-01-09 17:07 ` [PATCH] ext4: Check for return value from sb_set_blocksize Aneesh Kumar K.V
2008-01-09 18:21 ` Aneesh Kumar K.V
2008-01-09 17:21 ` [PATCH] ext4: Use superblock s_raid_stripe_width as stripe size during block allocation Eric Sandeen
2008-01-09 22:02 ` Mingming Cao
2008-01-09 23:36 ` Andreas Dilger
2008-01-10 4:28 ` Aneesh Kumar K.V [this message]
2008-01-10 8:22 ` 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=20080110042859.GB8271@skywalker \
--to=aneesh.kumar@linux.vnet.ibm.com \
--cc=cmm@us.ibm.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.