From: Tao Ma <tm@tao.ma>
To: Theodore Ts'o <tytso@mit.edu>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [PATCH V5 00/23] ext4: Add inline data support.
Date: Tue, 14 Aug 2012 15:04:47 +0800 [thread overview]
Message-ID: <5029F88F.7090106@tao.ma> (raw)
In-Reply-To: <20120813150445.GC13072@thunk.org>
On 08/13/2012 11:04 PM, Theodore Ts'o wrote:
> I had an idea which I think would make inline directories more
> efficient, although it wouldn't be a backwards compatible change with
> the existing patch sets to date.
that should be fine since we don't have much machines deployed by now.
>
> We don't actually need to store the entry for '.', since we know what
> that should be, and we could just store the parent directory in a
> 4-byte entry. By not storing the full directory entries for "." and
> "..", we would save 20 bytes, which for a 256 byte inode where only
> 120 bytes or so are available for the inline directory, is pretty
> significant. (We can just synthesize them for the benefit of readdir
> and lookup --- and I'm pretty sure the VFS is doing its own synthesis
> for "." and possibly ".." already as far as lookup is concerned.)
As andreas said in another e-mail, that would make the codes a little
complex. So in general, in my previous version, I just tried to refactor
most of the codes so that they can work for both inline inode and dir
blocks. But if these changes are merged, we have to re-write all of the
codes that are currently shared, such as ext4_find_entry, empty_dir,
ext4_add_entry etc.
Having said that, maybe it is worth the codes effort if we can see a
great improvement for inline dir. Since Andreas and you are both OK with
this new solution, I can try to re-work the inline data patch to support it.
Thanks
Tao
next prev parent reply other threads:[~2012-08-14 7:04 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-30 15:41 [PATCH V5 00/23] ext4: Add inline data support Tao Ma
2012-06-30 15:45 ` [PATCH V5 01/23] ext4: Move extra inode read to a new function Tao Ma
2012-06-30 15:45 ` [PATCH V5 02/23] ext4: export inline xattr functions Tao Ma
2012-06-30 15:45 ` [PATCH V5 03/23] ext4: Add the basic function for inline data support Tao Ma
2012-06-30 15:45 ` [PATCH V5 04/23] ext4: Add read support for inline data Tao Ma
2012-06-30 15:45 ` [PATCH V5 05/23] ext4: Add normal write " Tao Ma
2012-06-30 15:45 ` [PATCH V5 06/23] ext4: Add journalled " Tao Ma
2012-06-30 15:45 ` [PATCH V5 07/23] ext4: Add delalloc " Tao Ma
2012-06-30 15:45 ` [PATCH V5 08/23] ext4: Create a new function ext4_init_new_dir Tao Ma
2012-06-30 15:45 ` [PATCH V5 09/23] ext4: Refactor __ext4_check_dir_entry to accepts start and size Tao Ma
2012-06-30 15:45 ` [PATCH V5 10/23] ext4: Create __ext4_insert_dentry for dir entry insertion Tao Ma
2012-06-30 15:45 ` [PATCH V5 11/23] ext4: let add_dir_entry handle inline data properly Tao Ma
2012-06-30 15:45 ` [PATCH V5 12/23] ext4: Let ext4_readdir handle inline data Tao Ma
2012-06-30 15:45 ` [PATCH V5 13/23] ext4: Create a new function search_dir Tao Ma
2012-06-30 15:45 ` [PATCH V5 14/23] ext4: let ext4_find_entry handle inline data Tao Ma
2012-06-30 15:45 ` [PATCH V5 15/23] ext4: make ext4_delete_entry generic Tao Ma
2012-06-30 15:45 ` [PATCH V5 16/23] ext4: let ext4_delete_entry handle inline data Tao Ma
2012-06-30 15:45 ` [PATCH V5 17/23] ext4: let empty_dir handle inline dir Tao Ma
2012-06-30 15:45 ` [PATCH V5 18/23] ext4: let ext4_rename " Tao Ma
2012-06-30 15:45 ` [PATCH V5 19/23] ext4: Let fiemap work with inline data Tao Ma
2012-06-30 15:45 ` [PATCH V5 20/23] ext4: Evict inline data out if we needs to strore xattr in inode Tao Ma
2012-06-30 15:45 ` [PATCH V5 21/23] ext4: let ext4_truncate handle inline data correctly Tao Ma
2012-06-30 15:45 ` [PATCH V5 22/23] ext4: let fallocate " Tao Ma
2012-06-30 15:45 ` [PATCH V5 23/23] ext4: Enable ext4 inline support Tao Ma
2012-08-13 15:04 ` [PATCH V5 00/23] ext4: Add inline data support Theodore Ts'o
2012-08-14 2:43 ` Andreas Dilger
2012-08-14 7:04 ` Tao Ma [this message]
2012-08-14 15:19 ` Theodore Ts'o
2012-08-15 2:51 ` 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=5029F88F.7090106@tao.ma \
--to=tm@tao.ma \
--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.