@@ -760,9 +760,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;
@@ -870,10 +868,8 @@ static int scan_swap_map_slots(struct swap_info_struct *si,
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;
}
The code shows if this is ssd, it will jump to specific tag and skip the following code for non-ssd. Let's use "else if" to explicitly show the mutually exclusion for ssd/non-ssd to reduce ambiguity. Signed-off-by: Wei Yang <richard.weiyang@gmail.com> --- mm/swapfile.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)