Currently it has a complex structure where different things are compared at each branch. Simplify that and make both branches look similar. Signed-off-by: Sasha Levin <levinsasha928@xxxxxxxxx> --- mm/frontswap.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mm/frontswap.c b/mm/frontswap.c index 618ef91..f2f4685 100644 --- a/mm/frontswap.c +++ b/mm/frontswap.c @@ -119,16 +119,16 @@ int __frontswap_put_page(struct page *page) frontswap_succ_puts++; if (!dup) atomic_inc(&sis->frontswap_pages); - } else if (dup) { + } else { /* failed dup always results in automatic invalidate of the (older) page from frontswap */ - frontswap_clear(sis, offset); - atomic_dec(&sis->frontswap_pages); - frontswap_failed_puts++; - } else { frontswap_failed_puts++; + if (dup) { + frontswap_clear(sis, offset); + atomic_dec(&sis->frontswap_pages); + } } if (frontswap_writethrough_enabled) /* report failure so swap also writes to swap device */ -- 1.7.8.6 -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>