All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: Greg Freemyer <greg.freemyer@gmail.com>
Cc: Mario 'BitKoenig' Holbe <Mario.Holbe@tu-ilmenau.de>,
	linux-raid@vger.kernel.org
Subject: Re: Random bit flips - better data integrity needed
Date: Sun, 20 Sep 2009 17:48:50 -0400	[thread overview]
Message-ID: <yq1bpl55ltp.fsf@sermon.lab.mkp.net> (raw)
In-Reply-To: <87f94c370909190910s6992a671re507ddcf91ea623e@mail.gmail.com> (Greg Freemyer's message of "Sat, 19 Sep 2009 12:10:34 -0400")

>>>>> "Greg" == Greg Freemyer <greg.freemyer@gmail.com> writes:

Greg> This is all pretty new obviously.  To the best of my knowledge
Greg> filesystems have not yet been enhanced to track this value, thus
Greg> covering even more of the end-to-end transaction.

The filesystem part is pretty easy.  So far there hasn't been much point
because the window between filesystem submitting the bio and the block
layer generating the checksum is fairly small.

What's important wrt. to filesystems is to allow the checksums to be
passed through the page cache so we can get it to/from userland.  That's
on my list but it's stalled a bit waiting for aio to suck less.


Greg> I don't know how specifically, but it also seems to me the mdraid
Greg> stack could add to currently poor data integrity process even in
Greg> the absence of a supporting scsi subsystem.  Maybe by pulling out
Greg> the integrity checksum / crc info and putting it on yet another
Greg> disk, or mixing it in with the parity calculation.

Check dm-devel.  Alberto Bertogli has posted a DM target that does this.
I've only had time to do a cursory review.

However, I think the important thing here is to realize that the
strength of the data integrity infrastructure is in catching corruption
at WRITE time.  And that requires hardware participation because you
want it all the way.

If you want corruption detection and recovery at READ time the answer is
btrfs.  Really.  It was explicitly designed to do this.

I keep hearing talk about retrofitting checksums into existing
filesystems and software RAID.  Would the people that want to work on
this please stop partying like it's 1999 and go help out on btrfs
instead.  The world will be a much better place...

-- 
Martin K. Petersen	Oracle Linux Engineering

  parent reply	other threads:[~2009-09-20 21:48 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-19 16:10 Random bit flips - better data integrity needed [Was: Re: mismatch_count != 0 on multiple hosts] Greg Freemyer
2009-09-20  9:36 ` John Robinson
2009-09-20  9:43   ` Majed B.
2009-09-20 15:30 ` Mario 'BitKoenig' Holbe
2009-09-20 21:55   ` Random bit flips - better data integrity needed Martin K. Petersen
2009-09-20 21:48 ` Martin K. Petersen [this message]
2009-09-22 11:18 ` Random bit flips - better data integrity needed [Was: Re: mismatch_count != 0 on multiple hosts] Matthias Urlichs
2009-10-13 21:45   ` Bill Davidsen

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=yq1bpl55ltp.fsf@sermon.lab.mkp.net \
    --to=martin.petersen@oracle.com \
    --cc=Mario.Holbe@tu-ilmenau.de \
    --cc=greg.freemyer@gmail.com \
    --cc=linux-raid@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 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.