[PATCH] HWPOISON: check dirty flag to match against clean page

From: Naoya Horiguchi
Date: Mon Feb 25 2013 - 13:11:56 EST

Currently page_action() does not check dirty flag to determine whether
the error page is "clean mlocked/unevictable LRU" page.
This doesn't cause any misjudgement because we do matching against
"dirty mlocked/unevictable LRU" just before the check.
But in order to make code consistent and/or to avoid potential regression,
we had better check dirty flag explicitly.

This patch depends on the patch "HWPOISON: change order of
error_states[]'s elements" which perhaps will be merged in v3.9-rc1.

Suggested-by: Chen Gong <gong.chen@xxxxxxxxxxxxxxx>
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
mm/memory-failure.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git v3.8.orig/mm/memory-failure.c v3.8/mm/memory-failure.c
index 01e4676..d99cd79 100644
--- v3.8.orig/mm/memory-failure.c
+++ v3.8/mm/memory-failure.c
@@ -785,10 +785,10 @@ static struct page_state {
{ sc|dirty, sc, "clean swapcache", me_swapcache_clean },

{ mlock|dirty, mlock|dirty, "dirty mlocked LRU", me_pagecache_dirty },
- { mlock, mlock, "clean mlocked LRU", me_pagecache_clean },
+ { mlock|dirty, mlock, "clean mlocked LRU", me_pagecache_clean },

{ unevict|dirty, unevict|dirty, "dirty unevictable LRU", me_pagecache_dirty },
- { unevict, unevict, "clean unevictable LRU", me_pagecache_clean },
+ { unevict|dirty, unevict, "clean unevictable LRU", me_pagecache_clean },

{ lru|dirty, lru|dirty, "dirty LRU", me_pagecache_dirty },
{ lru|dirty, lru, "clean LRU", me_pagecache_clean },

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/