linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Jörn Engel" <joern@lazybastard.org>
To: David Chinner <dgc@sgi.com>
Cc: Valerie Henson <val_henson@linux.intel.com>,
	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: Fri, 27 Apr 2007 00:21:13 +0200	[thread overview]
Message-ID: <20070426222112.GA18172@lazybastard.org> (raw)
In-Reply-To: <20070426004740.GE65285596@melbourne.sgi.com>

On Thu, 26 April 2007 10:47:40 +1000, David Chinner wrote:
> 
> This assumes that you know a chunk has been corrupted, though.
> How do you find that out?

Option 1: you notice something odd while serving userspace.
Option 2: a checking/scrubbing daemon of some sorts.

The first will obviously miss any corruption in data that is not touched
for a long time (ever?).

> > What you need to make this go fast is (1) a pre-made list of which
> > chunks have links with which other chunks,
> 
> So you add a new on-disk structure that needs to be kept up to
> date? How do you trust that structure to be correct if you are
> not journalling it?

Only chance I see is to treat this list as hints.  It should contain all
chunks that possibly have links.  It may also contain chunks that don't
have links.  By keeping strict FFS-style ordering of all relevant
writes, any mismatch should only cost fsck time.

Managing this list appears to be less than trivial.  Might actually be
easier to have LogFS-style rmap for each object in the filesystem.

> What happens if fsfuzzer trashes part
> of this table as well and you can't trust it?

If you have 5000 redundant copies of data and all get corrupted, you are
doomed.  I don't expect my filesystem to recover after having written
0x00 over the whole device.

Being able to recover a single corruption happening anywhere on the
device is already a huge step forward.  Of course most current
filesystems wouldn't even be able to detect all possible corruptions.
That alone would be a step forward.

One of the smart things of ZFS is to checksum everything.  Among the
Linux filesystems only JFFS2 seems to do it, but it cannot distinguish
between corrupted data and incomplete writes before a crash.  It
definitely costs performance, but that is the price one has to pay if
errors are to be detected.

Jörn

-- 
Do not stop an army on its way home.
-- Sun Tzu
-
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

  reply	other threads:[~2007-04-26 22:25 UTC|newest]

Thread overview: 34+ 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
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 [this message]
2007-04-26  8:47             ` Jan Kara
2007-04-27  5:07               ` Valerie Henson
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-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=20070426222112.GA18172@lazybastard.org \
    --to=joern@lazybastard.org \
    --cc=arjan@infradead.org \
    --cc=brandon@ifup.org \
    --cc=david.lang@digitalinsight.com \
    --cc=dgc@sgi.com \
    --cc=gud@ksu.edu \
    --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=val_henson@linux.intel.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 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).