summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mm/swapfile.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/mm/swapfile.c b/mm/swapfile.c
index b6e68dcf7a18..264d5837257a 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -763,9 +763,7 @@ static int scan_swap_map_slots(struct swap_info_struct *si,
goto checks;
else
goto scan;
- }
-
- if (unlikely(!si->cluster_nr--)) {
+ } else if (unlikely(!si->cluster_nr--)) {
if (si->pages - si->inuse_pages < SWAPFILE_CLUSTER) {
si->cluster_nr = SWAPFILE_CLUSTER - 1;
goto checks;
@@ -873,10 +871,8 @@ checks:
goto checks;
else
goto done;
- }
-
- /* non-ssd case, still more slots in cluster? */
- if (si->cluster_nr && !si->swap_map[++offset]) {
+ } else if (si->cluster_nr && !si->swap_map[++offset]) {
+ /* non-ssd case, still more slots in cluster? */
--si->cluster_nr;
goto checks;
}