1 include/linux/fs.h | 1 +
3 2 files changed, 4 insertions(+)
5 Index: linux-2.6.4-30.1/include/linux/fs.h
6 ===================================================================
7 --- linux-2.6.4-30.1.orig/include/linux/fs.h 2004-04-02 03:20:19.000000000 -0500
8 +++ linux-2.6.4-30.1/include/linux/fs.h 2004-04-02 03:20:19.000000000 -0500
10 int (*releasepage) (struct page *, int);
11 int (*direct_IO)(int, struct kiocb *, const struct iovec *iov,
12 loff_t offset, unsigned long nr_segs);
13 + void (*removepage)(struct page *); /* called when page gets removed from the inode */
16 struct backing_dev_info;
17 Index: linux-2.6.4-30.1/mm/filemap.c
18 ===================================================================
19 --- linux-2.6.4-30.1.orig/mm/filemap.c 2004-04-02 03:19:42.000000000 -0500
20 +++ linux-2.6.4-30.1/mm/filemap.c 2004-04-02 03:23:10.000000000 -0500
23 struct address_space *mapping = page_mapping(page);
25 + if (mapping->a_ops->removepage)
26 + mapping->a_ops->removepage(page);
28 if (likely(!PageSwapCache(page))) {
29 BUG_ON(PageAnon(page));
30 radix_tree_delete(&mapping->page_tree, page->index);