[PATCH] [10/16] HWPOISON: Handle poisoned pages in set_page_dirty()

From: Andi Kleen
Date: Wed Jun 03 2009 - 14:48:48 EST



Bail out early in set_page_dirty for poisoned pages. We don't want any
of the dirty accounting done or file system write back started, because
the page will be just thrown away.

Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>

---
mm/page-writeback.c | 4 ++++
1 file changed, 4 insertions(+)

Index: linux/mm/page-writeback.c
===================================================================
--- linux.orig/mm/page-writeback.c 2009-06-03 19:36:20.000000000 +0200
+++ linux/mm/page-writeback.c 2009-06-03 19:36:23.000000000 +0200
@@ -1304,6 +1304,10 @@
{
struct address_space *mapping = page_mapping(page);

+ if (unlikely(PageHWPoison(page))) {
+ SetPageDirty(page);
+ return 0;
+ }
if (likely(mapping)) {
int (*spd)(struct page *) = mapping->a_ops->set_page_dirty;
#ifdef CONFIG_BLOCK
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/