All of lore.kernel.org
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Andreas Dilger <adilger@sun.com>
Cc: "Jose R. Santos" <jrs@us.ibm.com>,
	linux-ext4@vger.kernel.org,
	Valerie Clement <valerie.clement@bull.net>
Subject: Re: [E2FSPROGS, RFC] mke2fs: New bitmap and inode table allocation for FLEX_BG
Date: Mon, 28 Apr 2008 08:01:38 -0400	[thread overview]
Message-ID: <20080428120138.GE30840@mit.edu> (raw)
In-Reply-To: <20080425201026.GB3444@webber.adilger.int>

On Fri, Apr 25, 2008 at 02:10:26PM -0600, Andreas Dilger wrote:
> I'd HOPE (and I believe this is what Ted's recent patch did) is that any
> group which is being used to store flexbg data will have an initialized
> block bitmap in it, because it is "non-standard".

Correct.  If there are *any* blocks allocated other than the block's
own metadata, BLOCK_UNINIT will never be set.  And that's precisely to
avoid the tricky case described in your next paragraph:

> What is more tricky is if a group has BLOCK_UNINIT and/or INODE_UNINIT
> set what should happen when that group's block bitmap is initialized.
> Should it assume there is a block + inode bitmap and an itable, or is
> it enough to check its own group descriptor to determine if the bitmap
> and itable are not in the group itself.

In the kernel, it should be enough only to check bg_inode_bitmp,
bg_block_bitmap, and bg_inode_table to construct the block bitmap.
The point was to keep things simple.  

The cost of doing this is that you will end up needing to initialize
the block bitmaps for every an extra 1 out of every flex_bg_size block
groups, but that's not a major cost.  It also means that BLOCK_UNINIT
and BLOCK_BG_EMPTY as defined by Andreas are the same thing.  This was
a Keep It Simple, Stupid design point; I don't think the complexity is
worth it.

If someone wants to convince me that the benefits of forcing the
kernel and e2fsck pass5 to paw through all of the block group
descriptors to construct the block bitmap outweighs the costs (and
more importantly, volunteers to write the code :-), I'm willing to be
convinced otherwise....

						- Ted

  reply	other threads:[~2008-04-28 12:01 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-22 12:46 [RFC] Modified flex_bg patches Theodore Ts'o
2008-04-22 12:46 ` [E2FSPROGS, RFC] Basic flexible block group support Theodore Ts'o
2008-04-22 12:46   ` [E2FSPROGS, RFC] mke2fs: New bitmap and inode table allocation for FLEX_BG Theodore Ts'o
2008-04-22 14:18     ` Jose R. Santos
2008-04-22 14:51       ` Theodore Tso
2008-04-22 15:32         ` Jose R. Santos
2008-04-22 18:57           ` Theodore Tso
2008-04-22 22:27             ` Jose R. Santos
2008-04-23  1:21               ` Theodore Tso
2008-04-23  5:48                 ` Jose R. Santos
2008-04-23 12:23                   ` Theodore Tso
2008-04-23 16:24                     ` Jose R. Santos
2008-04-23 20:57             ` Andreas Dilger
2008-04-23 21:20               ` Jose R. Santos
2008-04-23 20:39     ` Andreas Dilger
2008-04-23 21:05       ` Jose R. Santos
2008-04-25 20:10         ` Andreas Dilger
2008-04-28 12:01           ` Theodore Tso [this message]
2008-04-23 21:01     ` Andreas Dilger
2008-04-22 13:47   ` [E2FSPROGS, RFC] Basic flexible block group support Jose R. Santos

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=20080428120138.GE30840@mit.edu \
    --to=tytso@mit.edu \
    --cc=adilger@sun.com \
    --cc=jrs@us.ibm.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=valerie.clement@bull.net \
    /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.