[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090805135056.GI11385@basil.fritz.box>
Date: Wed, 5 Aug 2009 15:50:57 +0200
From: Andi Kleen <andi@...stfloor.org>
To: Christoph Hellwig <hch@...radead.org>
Cc: Andi Kleen <andi@...stfloor.org>, tytso@....edu, mfasheh@...e.com,
aia21@...tab.net, hugh.dickins@...cali.co.uk, swhiteho@...hat.com,
akpm@...ux-foundation.org, npiggin@...e.de,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
fengguang.wu@...el.com, hidehiro.kawai.ez@...achi.com
Subject: Re: [PATCH] [16/19] HWPOISON: Enable .remove_error_page for
migration aware file systems
On Wed, Aug 05, 2009 at 07:12:31AM -0400, Christoph Hellwig wrote:
> On Wed, Aug 05, 2009 at 11:36:43AM +0200, Andi Kleen wrote:
> >
> > Enable removing of corrupted pages through truncation
> > for a bunch of file systems: ext*, xfs, gfs2, ocfs2, ntfs
> > These should cover most server needs.
> >
> > I chose the set of migration aware file systems for this
> > for now, assuming they have been especially audited.
> > But in general it should be safe for all file systems
> > on the data area that support read/write and truncate.
> >
> > Caveat: the hardware error handler does not take i_mutex
> > for now before calling the truncate function. Is that ok?
>
> It will probably need locking, e.g. the iolock in XFS. I'll
> need to take a look at the actual implementation of
> generic_error_remove_page to make sense of this.
Thanks for the review.
It just calls the lower end of the truncate path.
http://git.kernel.org/?p=linux/kernel/git/ak/linux-mce-2.6.git;a=commitdiff;h=b5d3322870b0f6e369809674d2c73857fd6ef480
and
http://git.kernel.org/?p=linux/kernel/git/ak/linux-mce-2.6.git;a=commitdiff;h=4c2df4fa9e4687bde815883fabc602ccc5961272
Is that ok? It should be roughly the same as normal truncate does,
except it doesn't take i_mutex currently.
We're careful to not do it for non regular inodes.
>
> Is there any way for us to test this functionality without introducing
> real hardware problems?
Yes, there are three different injectors to chose from :)
The easiest one is usually the madvise(MADV_POISON) injector.
Just map a suitable page and
There's a test program in
http://git.kernel.org/?p=utils/cpu/mce/mce-test.git;a=blob;f=tsrc/tinjpage.c;h=954e1edab765d1c141f693ae9767ba9d5491c1aa;hb=HEAD
that can be extended for new tests.
-Andi
--
ak@...ux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists