From: Theodore Tso <tytso@mit.edu>
To: Andreas Dilger <adilger@sun.com>
Cc: Ric Wheeler <rwheeler@redhat.com>,
Eric Sandeen <sandeen@redhat.com>,
ext4 development <linux-ext4@vger.kernel.org>
Subject: Re: Do we need dump for ext4?
Date: Thu, 28 Aug 2008 18:34:54 -0400 [thread overview]
Message-ID: <20080828223454.GD10082@mit.edu> (raw)
In-Reply-To: <20080828222348.GS3392@webber.adilger.int>
On Thu, Aug 28, 2008 at 04:23:48PM -0600, Andreas Dilger wrote:
> > For small directories which could potentially get converted into htree
> > format, we already sucking the entire directory and putting it into an
> > rbtree. We could just do this for all directories less than or equal
> > to 32k, but have them returned sorted by inode instead of by hash
> > value. At least on my laptop, this accounts for 99.93% of the
> > directories on my root filesystem.
>
> What happens if the directory is grown at that point? I thought the
> reason for keeping it sorted in hash order was to deal with the
> telldir headache? I guess if the whole thing is in memory then it
> can be attached to the fd and discarded once read or seeked-on
> (and POSIX doesn't require reporting new entries after the start
> of the read).
It's fine, because according to POSIX it's undefined what happens to
files that are created or deleted after the last opendir() or
rewindir(). So basically, the b-tree is attached to the opendir, and
we discard it and re-create it if we ever seek to the beginning of the
directory. This logic is already in the kernel, since it's exactly
the same situation if the file is grown past the point where it
becomes an HTREE directory.
> Doing this at the VFS level would also benefit _most_ filesystems,
> though maybe not ones like XFS or btrfs that have their own preferred
> order.
Possibly, but it's a lot easier inside ext3/ext4 because we have most
of the machinery in place and in use already.
- Ted
next prev parent reply other threads:[~2008-08-28 22:34 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-28 14:58 Do we need dump for ext4? Eric Sandeen
2008-08-28 18:48 ` Theodore Tso
2008-08-28 19:03 ` Ric Wheeler
2008-08-28 20:04 ` Andreas Dilger
2008-08-28 20:35 ` Theodore Tso
2008-08-28 22:23 ` Andreas Dilger
2008-08-28 22:34 ` Theodore Tso [this message]
2008-08-28 23:14 ` Andreas Dilger
2008-08-28 19:13 ` Eric Sandeen
2008-08-29 12:36 ` Eric Sandeen
2008-08-29 14:17 ` Theodore Tso
2008-08-29 18:14 ` Eric Sandeen
2008-08-31 2:43 ` Andreas Dilger
2008-09-02 15:52 ` Eric Sandeen
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=20080828223454.GD10082@mit.edu \
--to=tytso@mit.edu \
--cc=adilger@sun.com \
--cc=linux-ext4@vger.kernel.org \
--cc=rwheeler@redhat.com \
--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 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.