[PATCH 8/8] mm/frontswap: add missing handle on a dup-store failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If a frontswap dup-store failed, it should invalidate the old page in
backend and return failure.

This patch add this missing handle. According to the comments of
__frontswap_store(), it should have been there.

Reported-by: changkun.li <xfishcoder@xxxxxxxxx>
Signed-off-by: Weijie Yang <weijie.yang@xxxxxxxxxxx>
---
 mm/frontswap.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/mm/frontswap.c b/mm/frontswap.c
index df067f1..171c6c0 100644
--- a/mm/frontswap.c
+++ b/mm/frontswap.c
@@ -245,8 +245,10 @@ int __frontswap_store(struct page *page)
 		  the (older) page from frontswap
 		 */
 		inc_frontswap_failed_stores();
-		if (dup)
+		if (dup) {
 			__frontswap_clear(sis, offset);
+			frontswap_ops->invalidate_page(type, offset);
+		}
 	}
 	if (frontswap_writethrough_enabled)
 		/* report failure so swap also writes to swap device */
-- 
1.7.10.4


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]