diff --git a/mm/swapfile.c b/mm/swapfile.c index b505a827e58973fdeb195fcd15237dc935e3e82f..cff30234879df5c48288b2c485682fed732a662e 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -2579,7 +2579,10 @@ static void _enable_swap_info(struct swap_info_struct *p) * swap_info_struct. */ plist_add(&p->list, &swap_active_head); - add_to_avail_list(p); + + /* add to available list iff swap device is not full */ + if (p->highest_bit) + add_to_avail_list(p); } static void enable_swap_info(struct swap_info_struct *p, int prio,