Re: [PATCH] [16/19] HWPOISON: Enable .remove_error_page for migration aware file systems

Nick Piggin
2009-08-12T09:05:18Z

On Wed, Aug 12, 2009 at 10:57:27AM +0200, Andi Kleen wrote:
> On Wed, Aug 12, 2009 at 10:46:13AM +0200, Nick Piggin wrote:
> > On Wed, Aug 12, 2009 at 10:23:31AM +0200, Andi Kleen wrote:
> > > > page corruption, IMO, because by definition they should be able to
> > > > tolerate panic. But if they do not know about this change to -EIO
> > > > semantics, then it is quite possible to cause problems.
> > >
> > > There's no change really. You already have this problem with
> > > any metadata error, which can cause similar trouble.
> > > If the application handles those correctly it will also
> > > handle hwpoison correctly.
> >
> > What do you mean metadata error?
>
> e.g. when there's an write error on the indirect block or any
> other fs metadata. This can also cause you to lose data. The error
> reporting also works through the address space like with hwpoison,
> so it only gets reported once.

Well, this is also a filesystem issue, but anyway the data typically
does not get thrown out. So a subsequent fsync should be able to
retry.

But if the filesystem can't handle such errors and loses the original
data when there is an IO error in newly dirty metadata, then it's
a problem in the filesystem really isn't it?

> I'm not really against fixing that (make the error more sticky
> as Fengguang puts it), but I don't think it needs to be mixed
> with hwpoison.

I don't know if making it sticky realy "fixes" it. The problem is
different semantics of what EIO means. My example illustrates this.