--- linux-2.2.10/mm/swapfile.c~ Tue Jul 13 00:33:23 1999 +++ linux-2.2.10/mm/swapfile.c Fri Jul 16 15:27:52 1999 @@ -649,7 +649,9 @@ else p->swap_map[page] = SWAP_MAP_BAD; } - nr_good_pages = swap_header->info.last_page - i; + nr_good_pages = swap_header->info.last_page - + swap_header->info.nr_badpages - + 1 /* header page */; lock_map_size = (p->max + 7) / 8; if (error) goto bad_swap;