From: "Jörn Engel" <joern@lazybastard.org>
To: Matt Mackall <mpm@selenic.com>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: [RFC] TileFS - a proposal for scalable integrity checking
Date: Sun, 29 Apr 2007 17:47:00 +0200 [thread overview]
Message-ID: <20070429154700.GB30608@lazybastard.org> (raw)
In-Reply-To: <20070429125717.GF11115@waste.org>
On Sun, 29 April 2007 07:57:18 -0500, Matt Mackall wrote:
> On Sun, Apr 29, 2007 at 02:21:13PM +0200, Jörn Engel wrote:
>
> Thanks. I think this is a bit more direct solution than ChunkFS, but
> a) I haven't followed ChunkFS closely and b) I haven't been thinking
> about fsck very long, so this is still just a presented as fodder for
> discussion.
After thinking about it for a while, I believe you have a problem as
well. Will cover that in a later mail.
> > You should add a 64bit fpos field. That allows you to easily check for
> > addressing errors.
>
> Describe the scenario where this manifests, please.
Block with checksum is written somewhere. Block matches checksum, but a
bit flipped on the address bus. To catch this you have to match 1)
block contents, 2) checksum and 3) inode tree. ZFS does it by having
the checksum next to the block pointers in indirect blocks. LogFS does
it by having a block header with checksum and (ino, pos, level) tupel.
Level is 0 for data blocks, 1 for indirect blocks, etc. In the very
rare case that a data block gets written to the offset belonging to one
of its indirect blocks or vice versa this is necessary to catch the
error. LogFS needs it for different reasons and I wouldn't mind if you
just ignore that detail.
> It just occurred to me that my approach is analogous to object-based
> rmap on the filesystem. The fpos proposal I think makes it more like
> the original per-pte rmap. This is not to say I think the same lessons
> apply, as I'm not clear what you're proposing yet.
>
> Ooh.. I also just realized the tile approach allows much easier
> defragging/shrinking of large filesystems because finding the
> associated inode for blocks you want to move is fast.
It also allows for a background scan of the filesystem. If data is
rotting on the medium, the only chance to detect this is by reading and
checking it. Lots of data is never read from userspace, so it can
accumulate lots of errors.
Without rmap the filesystem cannot verify random blocks.
Jörn
--
Joern's library part 9:
http://www.scl.ameslab.gov/Publications/Gus/TwelveWays.html
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2007-04-29 15:51 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 [this message]
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
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=20070429154700.GB30608@lazybastard.org \
--to=joern@lazybastard.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=mpm@selenic.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).