From: David Chinner <dgc@sgi.com>
To: Mike Montour <mmontour@bycast.com>
Cc: xfs@oss.sgi.com
Subject: Re: Allocating inodes from a single block
Date: Thu, 19 Jul 2007 12:30:05 +1000 [thread overview]
Message-ID: <20070719023005.GB12413810@sgi.com> (raw)
In-Reply-To: <469E65AF.4080003@bycast.com>
On Wed, Jul 18, 2007 at 12:10:39PM -0700, Mike Montour wrote:
> David Chinner wrote:
> > The issue here is not the cluster size - that is purely an in-memory
> > arrangement for reading/writing muliple inodes at once. The issue
> > here is inode *chunks* (as Eric pointed out).
> >
> > [...]
> > The best you can do to try to avoid these sorts of problems is
> > use the "ikeep" option to keep empty inode chunks around. That way
> > if you remove a bunch of files then fragement free space you'll
> > still be able to create new files until you run out of pre-allocated
> > inodes....
> >
>
> What would it take to add an option to mkfs.xfs (or to create a
> dedicated tool) that would efficiently[1] pre-allocate a specified
> number of inode chunks when a filesystem is created?
Like an extension to mkfs.xfs's prototype file?
> This filesystem was created with "-i maxpct=0,size=2048", so a new chunk
> of 64 inodes would require an extent of 128 KiB (32 * 4KiB blocks).
i.e. worst case.
> 1. "efficiently" = significantly faster than a userspace script to
> 'touch' a few million files and then 'rm' them.
A "bulk create" option has long been considered to optimise filesystem
restore - precreating lots of inodes in an efficient manner is pretty
much a prereq for this.
The other option (and one that I prefer) is extending xfs_fsr to b
able to defragment free space. i.e. to compact space in each AG. To
do this efficiently, however, we really need a reverse map to determine
the owners of the blocks we want to move...
Cheers,
Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
next prev parent reply other threads:[~2007-07-19 2:30 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-17 18:11 Allocating inodes from a single block Michael Nishimoto
2007-07-17 20:19 ` Chris Wedgwood
2007-07-17 21:01 ` Michael Nishimoto
2007-07-18 1:43 ` Eric Sandeen
2007-07-18 2:01 ` Nathan Scott
2007-07-18 3:50 ` David Chinner
2007-07-18 17:53 ` Michael Nishimoto
2007-07-18 19:10 ` Mike Montour
2007-07-19 2:30 ` David Chinner [this message]
2007-07-20 1:26 ` Mike Montour
[not found] <200707231240.23425.david@fromorbit.com>
2007-07-23 5:06 ` David Chinner
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=20070719023005.GB12413810@sgi.com \
--to=dgc@sgi.com \
--cc=mmontour@bycast.com \
--cc=xfs@oss.sgi.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.