X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=mm%2Fmemory-failure.c;h=07c875fdeaf0ca82e86bb8db8b32164a2d4357e0;hb=0781d60f658e25fbad3b6e4261f54eb1cd3dc302;hp=f64ebb6226cbf6af8931ac0bf319f18a4ee77fdc;hpb=5833291ab6de9c3e2374336b51c814e515e8f3a5;p=linux-2.6-microblaze.git diff --git a/mm/memory-failure.c b/mm/memory-failure.c index f64ebb6226cb..07c875fdeaf0 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -58,7 +58,6 @@ #include #include #include -#include #include "internal.h" #include "ras/ras_event.h" @@ -868,7 +867,6 @@ static int me_pagecache_clean(struct page_state *ps, struct page *p) { int ret; struct address_space *mapping; - bool extra_pins; delete_from_lru_cache(p); @@ -897,24 +895,18 @@ static int me_pagecache_clean(struct page_state *ps, struct page *p) goto out; } - /* - * The shmem page is kept in page cache instead of truncating - * so is expected to have an extra refcount after error-handling. - */ - extra_pins = shmem_mapping(mapping); - /* * Truncation is a bit tricky. Enable it per file system for now. * * Open: to take i_rwsem or not for this? Right now we don't. */ ret = truncate_error_page(p, page_to_pfn(p), mapping); - if (has_extra_refcount(ps, p, extra_pins)) - ret = MF_FAILED; - out: unlock_page(p); + if (has_extra_refcount(ps, p, false)) + ret = MF_FAILED; + return ret; }