aboutsummaryrefslogtreecommitdiffstats
path: root/mm/frontswap.c
diff options
context:
space:
mode:
authorSasha Levin <levinsasha928@gmail.com>2012-06-10 12:51:04 +0200
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2012-06-11 15:31:55 -0400
commitd9674dda1c7ed49d503d3d7308c90a9f965f0783 (patch)
treea3ee1d15aa1846668baf3bfbba87a25695ce0ca8 /mm/frontswap.c
parentmm: frontswap: split frontswap_shrink further to simplify locking (diff)
downloadlinux-dev-d9674dda1c7ed49d503d3d7308c90a9f965f0783.tar.xz
linux-dev-d9674dda1c7ed49d503d3d7308c90a9f965f0783.zip
mm: frontswap: make all branches of if statement in put page consistent
Currently it has a complex structure where different things are compared at each branch. Simplify that and make both branches look similar. Reviewed-by: Minchan Kim <minchan@kernel.org> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'mm/frontswap.c')
-rw-r--r--mm/frontswap.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/mm/frontswap.c b/mm/frontswap.c
index e6353d9151ee..d8dc9867b005 100644
--- a/mm/frontswap.c
+++ b/mm/frontswap.c
@@ -140,16 +140,16 @@ int __frontswap_store(struct page *page)
inc_frontswap_succ_stores();
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);
- inc_frontswap_failed_stores();
- } else {
inc_frontswap_failed_stores();
+ if (dup) {
+ frontswap_clear(sis, offset);
+ atomic_dec(&sis->frontswap_pages);
+ }
}
if (frontswap_writethrough_enabled)
/* report failure so swap also writes to swap device */