From: Valerie Henson <val_henson@linux.intel.com>
To: Jeff Dike <jdike@addtoit.com>
Cc: Amit Gud <gud@ksu.edu>, Nikita Danilov <nikita@clusterfs.com>,
David Lang <david.lang@digitalinsight.com>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
riel@surriel.com, zab@zabbo.net, arjan@infradead.org,
suparna@in.ibm.com, brandon@ifup.org, karunasagark@gmail.com
Subject: Re: [RFC][PATCH] ChunkFS: fs fission for faster fsck
Date: Thu, 26 Apr 2007 21:58:25 -0700 [thread overview]
Message-ID: <20070427045824.GB20286@nifty> (raw)
In-Reply-To: <20070426160504.GA7970@c2.user-mode-linux.org>
On Thu, Apr 26, 2007 at 12:05:04PM -0400, Jeff Dike wrote:
>
> No, I'm referring to a different file. The scenario is that you have
> a growing file in a nearly full disk with files being deleted (and
> thus space being freed) such that allocations for the growing file
> bounce back and forth between chunks.
This is an excellent question. I call this the ping-pong problem.
The solution is as Amit describes: You have a maximum of one
continuation inode per file per chunk, and you require sparse files.
Here's an example, spelled out:
Allocate file 1 in chunk A.
Grow file 1.
Chunk A fills up.
Allocate continuation inode for file 1 in chunk B.
Chunk A gets some free space.
Chunk B fills up.
Pick chunk A for allocating next block of file 1.
Try to look up a continuation inode for file 1 in chunk A.
Continuation inode for file 1 found in chunk A!
Attach newly allocated block to existing inode for file 1 in chunk A.
This is why the file format inside each chunk needs to support sparse
files.
I have a presentation that has a series of slides on problems and
potential resolutions that might help:
http://infohost.nmt.edu/~val/review/chunkfs_presentation.pdf
-VAL
next prev parent reply other threads:[~2007-04-27 4:58 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-23 11:21 [RFC][PATCH] ChunkFS: fs fission for faster fsck Amit Gud
[not found] ` <17965.6084 1.900376.524639@gargle.gargle.HOWL>
2007-04-23 16:28 ` Suparna Bhattacharya
2007-04-23 15:25 ` Amit Gud
2007-04-23 16:32 ` Suparna Bhattacharya
2007-04-24 11:44 ` Nikita Danilov
2007-04-24 18:27 ` David Lang
2007-04-24 19:34 ` Nikita Danilov
2007-04-24 19:26 ` David Lang
2007-04-25 11:34 ` Nikita Danilov
2007-04-25 16:39 ` David Lang
2007-04-25 22:47 ` Valerie Henson
2007-04-26 14:14 ` Jeff Dike
2007-04-26 15:53 ` Amit Gud
2007-04-26 16:05 ` Jeff Dike
2007-04-26 16:56 ` Amit Gud
2007-04-27 4:58 ` Valerie Henson [this message]
2007-04-27 15:06 ` Jeff Dike
2007-05-01 17:26 ` Valerie Henson
2007-04-26 16:11 ` Alan Cox
2007-04-26 16:44 ` Amit Gud
2007-04-24 21:53 ` Amit Gud
2007-04-25 10:54 ` David Chinner
2007-04-25 11:38 ` Andreas Dilger
2007-04-25 17:52 ` Amit Gud
2007-04-25 23:06 ` Valerie Henson
2007-04-25 23:03 ` Valerie Henson
2007-04-26 0:47 ` David Chinner
2007-04-26 22:21 ` Jörn Engel
2007-04-26 22:21 ` Jörn Engel
2007-04-26 8:47 ` Jan Kara
2007-04-27 5:07 ` Valerie Henson
2007-04-27 10:53 ` Jörn Engel
2007-04-27 10:53 ` Jörn Engel
2007-04-28 6:50 ` Valerie Henson
2007-04-28 10:03 ` Jörn Engel
2007-04-28 10:03 ` Jörn Engel
2007-04-25 22:43 ` Valerie Henson
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=20070427045824.GB20286@nifty \
--to=val_henson@linux.intel.com \
--cc=arjan@infradead.org \
--cc=brandon@ifup.org \
--cc=david.lang@digitalinsight.com \
--cc=gud@ksu.edu \
--cc=jdike@addtoit.com \
--cc=karunasagark@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nikita@clusterfs.com \
--cc=riel@surriel.com \
--cc=suparna@in.ibm.com \
--cc=zab@zabbo.net \
/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.