--- zzzz-none-000/linux-2.6.28.10/mm/swapfile.c 2009-05-02 18:54:43.000000000 +0000 +++ puma5-6360-529/linux-2.6.28.10/mm/swapfile.c 2010-03-25 13:19:24.000000000 +0000 @@ -278,6 +278,7 @@ count--; p->swap_map[offset] = count; if (!count) { + struct gendisk *disk = p->bdev->bd_disk; /*--- erweitert für ramzswap ---*/ if (offset < p->lowest_bit) p->lowest_bit = offset; if (offset > p->highest_bit) @@ -286,6 +287,8 @@ swap_list.next = p - swap_info; nr_swap_pages++; p->inuse_pages--; + if (disk->fops->swap_slot_free_notify) /*--- erweitert für ramzswap ---*/ + disk->fops->swap_slot_free_notify(p->bdev, offset); } } return count;