linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Dilger <adilger@clusterfs.com>
To: phillip@lougher.demon.co.uk
Cc: thephilips@gmail.com, hbryan@us.ibm.com,
	jsipek@fsl.cs.sunysb.edu, atraeger@cs.sunysb.edu,
	linux-fsdevel@vger.kernel.org, phillip.lougher@gmail.com
Subject: Re: Allocation strategy - dynamic zone for small files
Date: Tue, 14 Nov 2006 11:19:02 -0700	[thread overview]
Message-ID: <20061114181902.GO6012@schatzie.adilger.int> (raw)
In-Reply-To: <E1Gk04B-0002rm-IP@pr-webmail-2.demon.net>

On Nov 14, 2006  15:19 +0000, phillip@lougher.demon.co.uk wrote:
> adilger@clusterfs.com wrote:
> > At the filesystem summit we DID find a surprising number of small files
> > even when the whole system was examined.  We discussed storing small
> > files directly in the inode along with other EAs (this would require
> > larger inodes).  This improves data locality and performance (i.e. stat
> > of the file loads the small file data into cache), though the assumption
> > is that there will be an increasing number of EAs on files in the future.
> 
> So it won't be feasible to store EAs + small file in the inode, or in the
> future it won't be feasible to store just EAs in the inode for most files?

Sorry to be unclear.  What I meant was that part of the justification for
always increasing the inode size (which will cause internal fragmentation
itself) is that the assumption is the larger inode size can be efficiently
used for a variety of EAs (small file bodies, ACLs, selinux, etc).

Additionally, it was proposed is to use this EA space to store the file
name(s) belonging to the inode, and in fact turn the inode table into the
directory itself.  That means information needed for dirent->d_type, etc
is readily available, as is readdir+ (readdir + stat) information.  For
small files it means that readdir + stat + read operations like "grep -r"
or "find ... | xargs grep" or any number of others can be done without any
seeks, which is a HUGE performance improvement.

> Are there any stats showing the current amount/size of EAs per file, and
> what it is expected to be in the future?

No, just empirical evidence.  Using the EA space for filenames to create a
directory itself adds a significant amount of EAs if files are hard linked.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.


  reply	other threads:[~2006-11-14 18:19 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-13 10:37 Allocation strategy - dynamic zone for small files Ihar `Philips` Filipau
2006-11-13 13:56 ` avishay
2006-11-13 17:46   ` Bryan Henderson
2006-11-13 19:38     ` Josef Sipek
2006-11-13 21:12       ` Bryan Henderson
2006-11-13 23:32         ` Ihar `Philips` Filipau
2006-11-13 23:57           ` Andreas Dilger
2006-11-14  2:19             ` Dave Kleikamp
2006-11-14 13:15               ` Jörn Engel
     [not found]                 ` <efa6f5910611140541m302201e6t4e84551b75e79611@mail.gmail.com>
2006-11-14 13:56                   ` Jörn Engel
2006-11-14 18:23                   ` Andreas Dilger
2006-11-14 15:19             ` phillip
2006-11-14 18:19               ` Andreas Dilger [this message]
2006-11-14  0:15           ` Josef Sipek
2006-11-14  0:59           ` Bryan Henderson
2006-11-14  1:02     ` Theodore Tso
2006-11-14 11:21       ` Al Boldi
2006-11-14 14:25         ` Theodore Tso
2006-11-14 15:43           ` Al Boldi
2006-11-14 15:46             ` Matthew Wilcox
2006-11-14 16:59               ` Al Boldi
2006-11-14 17:27                 ` Matthew Wilcox
2006-11-14 17:55                   ` Theodore Tso
2006-11-14 18:23                   ` Al Boldi
2006-11-14 14:30       ` phillip

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=20061114181902.GO6012@schatzie.adilger.int \
    --to=adilger@clusterfs.com \
    --cc=atraeger@cs.sunysb.edu \
    --cc=hbryan@us.ibm.com \
    --cc=jsipek@fsl.cs.sunysb.edu \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=phillip.lougher@gmail.com \
    --cc=phillip@lougher.demon.co.uk \
    --cc=thephilips@gmail.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 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).