From: Theodore Tso <tytso@mit.edu>
To: Andreas Dilger <adilger@sun.com>
Cc: Alex Tomas <bzzz@sun.com>, ext4 development <linux-ext4@vger.kernel.org>
Subject: Re: [RFC] dynamic inodes
Date: Fri, 26 Sep 2008 10:33:09 -0400 [thread overview]
Message-ID: <20080926143309.GC11413@mit.edu> (raw)
In-Reply-To: <20080926103322.GA10950@webber.adilger.int>
On Fri, Sep 26, 2008 at 04:33:22AM -0600, Andreas Dilger wrote:
> > This is actually the big problem; with META_BG, in order to find the
> > group descriptor blocks, it assumes that the first group descriptor
> > can be found at the beginning of the group descriptor block, which
> > means it has to be found at a certain offset from the beginning of the
> > filesystem. And this would not be true for inode-only block groups.
>
> We could special-case the placement of the GDT blocks in this case, and
> then put them into the proper META_BG location when/if the blocks are
> actually added to the filesystem.
Yes, but where do you put the GDT blocks in the case of where there is
no more space in the reserved gdt blocks? Using some inode is
probably the best bet, since we would then know where to find the GDT
blocks.
My suggestion of using inode numbers growing downward from the top of
the 2**32 number space was to avoid needing to move the GDT blocks
into their proper place if and when the filesystem is grown; it
simplifies the code needed for the on-line resizing, and it also means
that when you do the on-line resizing the filesystem gets more inodes
along with more blocks. If we move the GDT blocks into their proper
place, then the filesystem gets more blocks, but not more inodes; but
if the inodes are dynamically grown automatically by the filesystem,
maybe that's not a problem.
> Alternately, we could put the GDT into the inode and replicate the whole
> inode several times (the data would already be present in the filesystem).
> We just need to select inodes from disparate parts of the filesystem to
> avoid corruption (I'd suggest one inode from each backup superblock
> group), point them at the existing GDT blocks, then allow the new GDT
> blocks to be added to each one. The backup GDT-inode copies only need
> to be changed when new groups are added/removed.
Yes, that's probably the best solution, IMHO.
- Ted
next prev parent reply other threads:[~2008-09-26 14:33 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-24 11:46 [RFC] dynamic inodes Alex Tomas
2008-09-25 22:09 ` Andreas Dilger
2008-09-25 23:00 ` Alex Tomas
2008-09-25 23:29 ` Andreas Dilger
2008-09-30 14:02 ` Alex Tomas
2008-09-25 22:37 ` Andreas Dilger
2008-09-26 1:10 ` Jose R. Santos
2008-09-26 10:36 ` Andreas Dilger
2008-09-26 14:49 ` Jose R. Santos
2008-09-26 20:01 ` Andreas Dilger
2008-09-26 2:11 ` Theodore Tso
2008-09-26 10:33 ` Andreas Dilger
2008-09-26 14:33 ` Theodore Tso [this message]
2008-09-26 20:18 ` Andreas Dilger
2008-09-26 22:26 ` Theodore Tso
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=20080926143309.GC11413@mit.edu \
--to=tytso@mit.edu \
--cc=adilger@sun.com \
--cc=bzzz@sun.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).