diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/frontswap.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/mm/frontswap.c b/mm/frontswap.c index e6353d9151e..d8dc9867b00 100644 --- a/mm/frontswap.c +++ b/mm/frontswap.c | |||
@@ -140,16 +140,16 @@ int __frontswap_store(struct page *page) | |||
140 | inc_frontswap_succ_stores(); | 140 | inc_frontswap_succ_stores(); |
141 | if (!dup) | 141 | if (!dup) |
142 | atomic_inc(&sis->frontswap_pages); | 142 | atomic_inc(&sis->frontswap_pages); |
143 | } else if (dup) { | 143 | } else { |
144 | /* | 144 | /* |
145 | failed dup always results in automatic invalidate of | 145 | failed dup always results in automatic invalidate of |
146 | the (older) page from frontswap | 146 | the (older) page from frontswap |
147 | */ | 147 | */ |
148 | frontswap_clear(sis, offset); | ||
149 | atomic_dec(&sis->frontswap_pages); | ||
150 | inc_frontswap_failed_stores(); | ||
151 | } else { | ||
152 | inc_frontswap_failed_stores(); | 148 | inc_frontswap_failed_stores(); |
149 | if (dup) { | ||
150 | frontswap_clear(sis, offset); | ||
151 | atomic_dec(&sis->frontswap_pages); | ||
152 | } | ||
153 | } | 153 | } |
154 | if (frontswap_writethrough_enabled) | 154 | if (frontswap_writethrough_enabled) |
155 | /* report failure so swap also writes to swap device */ | 155 | /* report failure so swap also writes to swap device */ |