From: Matt Mackall <mpm@selenic.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: [RFC] TileFS - a proposal for scalable integrity checking
Date: Sun, 29 Apr 2007 11:09:47 -0500 [thread overview]
Message-ID: <20070429160947.GH11115@waste.org> (raw)
In-Reply-To: <p738xcb16mk.fsf@bingen.suse.de>
On Sun, Apr 29, 2007 at 06:34:59PM +0200, Andi Kleen wrote:
> Matt Mackall <mpm@selenic.com> writes:
>
> > This is a relatively simple scheme for making a filesystem with
> > incremental online consistency checks of both data and metadata.
> > Overhead can be well under 1% disk space and CPU overhead may also be
> > very small, while greatly improving filesystem integrity.
>
> Problem I see is that your scheme doesn't support metadata checksums only.
> IMHO those are the most interesting because they have the potential
> to be basically zero cost, unlike full data checksumming.
> And doing metadata checksums is enough to handle the fsck
> problem.
It does. Checksums are not in any way an essential part of this
approach. We can checksum nothing, just metadata, or everything.
Further, we might find ourselves wanting to change the setting, so
we'd probably just want to leave slots in the tile headers for CRCs
always. So for now, let's imagine three mount options: nocrc, crc, and
metacrc.
> I'm sure there are many cases where full checksumming makes sense too,
> but those shouldn't be forced on everybody because it will slow down
> some important workloads (like O_DIRECT)
Right.
> Metadata checksums would be best just put into the file systems
> data structures. Essentially every object (inode, extent, directory entry,
> super block) should have a checksum that can be incrementially updated.
Putting CRCs on extents is trouble. You can't validate them without
reading the whole extent and writing into the middle of an extent is
also hard.
But this is kind of a rat-hole. The more immediate question is do the
reverse mapping pointers make sense for fsck purposes?
--
Mathematics is the supreme nostalgia of our time.
next prev parent reply other threads:[~2007-04-29 16:10 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-28 22:05 [RFC] TileFS - a proposal for scalable integrity checking Matt Mackall
2007-04-29 12:21 ` Jörn Engel
2007-04-29 12:57 ` Matt Mackall
2007-04-29 15:47 ` Jörn Engel
2007-05-09 5:56 ` Valerie Henson
2007-05-09 10:12 ` Jörn Engel
2007-04-29 15:58 ` Jörn Engel
2007-04-29 16:24 ` Matt Mackall
2007-04-29 16:34 ` Andi Kleen
2007-04-29 16:05 ` Jörn Engel
2007-04-29 16:09 ` Matt Mackall [this message]
2007-04-29 23:23 ` Theodore Tso
2007-04-30 1:40 ` Matt Mackall
2007-04-30 17:26 ` Theodore Tso
2007-04-30 17:59 ` Matt Mackall
2007-05-02 13:18 ` Jörn Engel
2007-05-02 13:32 ` Jörn Engel
2007-05-02 15:37 ` Matt Mackall
2007-05-02 16:35 ` Jörn Engel
2007-05-09 7:56 ` Valerie Henson
2007-05-09 11:16 ` Nikita Danilov
2007-05-09 18:56 ` Valerie Henson
2007-05-09 19:19 ` Nikita Danilov
2007-05-09 17:06 ` Matt Mackall
2007-05-09 18:59 ` Valerie Henson
2007-05-09 19:51 ` Matt Mackall
2007-05-10 0:03 ` Jörn Engel
2007-05-11 9:46 ` Valerie Henson
2007-05-11 15:55 ` Matt Mackall
2007-05-09 19:01 ` Valerie Henson
2007-05-09 20:05 ` Matt Mackall
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=20070429160947.GH11115@waste.org \
--to=mpm@selenic.com \
--cc=andi@firstfloor.org \
--cc=linux-fsdevel@vger.kernel.org \
/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).