X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=mm%2Fvmscan.c;h=9ca587c692748adbc715b440ff5aa8c89357c511;hb=f5fc3c50c99a7df2bf908dfe66f112d35178ee07;hp=d31d7ce52c0ea2dbbf85b26019c9fdd70fab624a;hpb=849653372d3f98332bf84e9fb814d9f9a02eeda2;p=mv-sheeva.git diff --git a/mm/vmscan.c b/mm/vmscan.c index d31d7ce52c0..9ca587c6927 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -494,9 +494,16 @@ static int __remove_mapping(struct address_space *mapping, struct page *page) spin_unlock_irq(&mapping->tree_lock); swapcache_free(swap, page); } else { + void (*freepage)(struct page *); + + freepage = mapping->a_ops->freepage; + __remove_from_page_cache(page); spin_unlock_irq(&mapping->tree_lock); mem_cgroup_uncharge_cache_page(page); + + if (freepage != NULL) + freepage(page); } return 1;