From: Chris Mason <chris.mason@oracle.com>
To: Nick Piggin <npiggin@suse.de>
Cc: James Bottomley <James.Bottomley@suse.de>,
Matthew Wilcox <matthew@wil.cx>,
Christof Schmitt <christof.schmitt@de.ibm.com>,
Boaz Harrosh <bharrosh@panasas.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-fsdevel@vger.kernel.org
Subject: Re: Wrong DIF guard tag on ext2 write
Date: Tue, 1 Jun 2010 15:35:28 -0400 [thread overview]
Message-ID: <20100601193528.GV8980@think> (raw)
In-Reply-To: <20100601184649.GE9453@laptop>
On Wed, Jun 02, 2010 at 04:46:49AM +1000, Nick Piggin wrote:
> On Tue, Jun 01, 2010 at 02:09:05PM -0400, Chris Mason wrote:
> > On Tue, Jun 01, 2010 at 04:54:53PM +0000, James Bottomley wrote:
> >
> > > For self
> > > induced errors (as long as we can detect them) I think we can just
> > > forget about it ... if the changed page is important, the I/O request
> > > gets repeated (modulo the problem of too great a frequency of changes
> > > leading to us never successfully writing it) or it gets dropped because
> > > the file was truncated or the data deleted for some other reason.
> >
> > Sorry, how can we tell the errors that are self induced from the evil
> > bit flipping cable induced errors?
>
> Block layer should retry it with bounce pages. That would be a lot nicer
> than forcing all upper layers to avoid the problem.
>
So the idea is that we have sent down a buffer and it changed in flight.
The block layer is going to say: oh look, the crcs don't match, I'll
bounce it, recrc it and send again. But, there are at least 3 reasons the crc
will change:
1) filesystem changed it
2) corruption on the wire or in the raid controller
3) the page was corrupted while the IO layer was doing the IO.
1 and 2 are easy, we bounce, retry and everyone continues on with
their lives. With #3, we'll recrc and send the IO down again thinking
the data is correct when really we're writing garbage.
How can we tell these three cases apart?
-chris
next prev parent reply other threads:[~2010-06-01 19:36 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-31 11:28 Wrong DIF guard tag on ext2 write Christof Schmitt
2010-05-31 11:34 ` Christof Schmitt
2010-05-31 14:20 ` Martin K. Petersen
2010-05-31 14:46 ` Christof Schmitt
2010-06-01 13:16 ` Martin K. Petersen
2010-06-02 13:37 ` Christof Schmitt
2010-06-02 23:20 ` Dave Chinner
2010-06-04 1:34 ` Martin K. Petersen
2010-06-04 2:32 ` Dave Chinner
2010-06-07 16:20 ` Martin K. Petersen
2010-06-07 17:22 ` Boaz Harrosh
2010-06-07 17:40 ` Martin K. Petersen
2010-06-08 7:15 ` Christof Schmitt
2010-06-08 8:47 ` Dave Chinner
2010-06-08 8:52 ` Nick Piggin
2010-05-31 14:49 ` Nick Piggin
2010-06-01 13:17 ` Martin K. Petersen
2010-05-31 15:01 ` James Bottomley
2010-05-31 15:30 ` Boaz Harrosh
2010-05-31 15:49 ` Nick Piggin
2010-05-31 16:25 ` Boaz Harrosh
2010-06-01 13:22 ` Martin K. Petersen
2010-06-01 10:30 ` Christof Schmitt
2010-06-01 10:49 ` Boaz Harrosh
2010-06-01 13:03 ` Chris Mason
2010-06-01 13:50 ` Christof Schmitt
2010-06-01 13:50 ` Christof Schmitt
2010-06-01 13:50 ` Christof Schmitt
2010-06-01 13:58 ` Chris Mason
2010-06-08 7:18 ` Christof Schmitt
2010-06-08 7:18 ` Christof Schmitt
2010-06-08 7:18 ` Christof Schmitt
2010-06-01 14:26 ` Nick Piggin
2010-06-01 13:27 ` James Bottomley
2010-06-01 13:33 ` Chris Mason
2010-06-01 13:40 ` James Bottomley
2010-06-01 13:49 ` Chris Mason
2010-06-01 16:29 ` Matthew Wilcox
2010-06-01 16:29 ` Matthew Wilcox
2010-06-01 16:47 ` Chris Mason
2010-06-01 16:54 ` James Bottomley
2010-06-01 18:09 ` Chris Mason
2010-06-01 18:46 ` Nick Piggin
2010-06-01 19:35 ` Chris Mason [this message]
2010-06-02 3:20 ` Nick Piggin
2010-06-02 3:20 ` Nick Piggin
2010-06-02 13:17 ` Martin K. Petersen
2010-06-02 13:41 ` Nick Piggin
2010-06-03 15:46 ` Chris Mason
2010-06-03 16:27 ` Nick Piggin
2010-06-03 16:27 ` Nick Piggin
2010-06-03 16:27 ` Nick Piggin
2010-06-04 1:46 ` Martin K. Petersen
2010-06-04 3:09 ` Nick Piggin
2010-06-04 2:02 ` Dave Chinner
2010-06-04 2:02 ` Dave Chinner
2010-06-04 2:02 ` Dave Chinner
2010-06-04 15:32 ` Jan Kara
2010-06-04 1:30 ` Martin K. Petersen
2010-06-02 3:20 ` Nick Piggin
2010-06-01 18:46 ` Nick Piggin
2010-06-01 18:46 ` Nick Piggin
2010-06-01 21:07 ` James Bottomley
2010-06-01 22:49 ` Chris Mason
2010-06-01 16:29 ` Matthew Wilcox
2010-06-01 13:50 ` Martin K. Petersen
2010-06-01 14:28 ` Nick Piggin
2010-06-01 14:32 ` James Bottomley
2010-06-01 14:54 ` Martin K. Petersen
2010-06-03 11:20 ` Vladislav Bolkhovitin
2010-06-03 12:07 ` Boaz Harrosh
2010-06-03 12:41 ` Vladislav Bolkhovitin
2010-06-03 12:46 ` Vladislav Bolkhovitin
2010-06-09 15:58 ` Vladislav Bolkhovitin
2010-06-03 13:06 ` Boaz Harrosh
2010-06-03 13:23 ` Vladislav Bolkhovitin
2010-07-23 17:59 ` Gennadiy Nerubayev
2010-07-23 17:59 ` Gennadiy Nerubayev
2010-07-23 19:16 ` Vladislav Bolkhovitin
2010-07-23 20:51 ` Gennadiy Nerubayev
2010-07-26 12:22 ` Vladislav Bolkhovitin
2010-07-26 17:00 ` Gennadiy Nerubayev
2010-07-26 19:26 ` Vladislav Bolkhovitin
2010-07-24 1:03 ` Dave Chinner
2010-06-01 2:40 ` FUJITA Tomonori
2010-06-03 16:09 ` [LFS/VM TOPIC] Stable pages while IO (was Wrong DIF guard tag on ext2 write) Boaz Harrosh
2010-06-03 16:09 ` Boaz Harrosh
2010-06-03 16:09 ` Boaz Harrosh
2010-06-03 16:30 ` [Lsf10-pc] " J. Bruce Fields
2010-06-03 17:41 ` Vladislav Bolkhovitin
2010-06-04 16:23 ` Jan Kara
2010-06-04 16:30 ` [Lsf10-pc] " J. Bruce Fields
2010-06-04 17:11 ` Jan Kara
2010-06-06 9:35 ` Boaz Harrosh
2010-06-06 23:37 ` Jan Kara
2010-06-07 8:30 ` Boaz Harrosh
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=20100601193528.GV8980@think \
--to=chris.mason@oracle.com \
--cc=James.Bottomley@suse.de \
--cc=bharrosh@panasas.com \
--cc=christof.schmitt@de.ibm.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=matthew@wil.cx \
--cc=npiggin@suse.de \
/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.