1 include/linux/fs.h | 1 +
3 2 files changed, 4 insertions(+)
5 --- linux-2.6.0-test3-l25/include/linux/fs.h~removepage-2.6.0 2003-09-05 15:31:52.000000000 -0700
6 +++ linux-2.6.0-test3-l25-zab/include/linux/fs.h 2003-09-08 10:47:30.000000000 -0700
7 @@ -311,6 +311,7 @@ struct address_space_operations {
8 int (*releasepage) (struct page *, int);
9 int (*direct_IO)(int, struct kiocb *, const struct iovec *iov,
10 loff_t offset, unsigned long nr_segs);
11 + void (*removepage)(struct page *); /* called when page gets removed from the inode */
14 struct backing_dev_info;
15 --- linux-2.6.0-test3-l25/mm/filemap.c~removepage-2.6.0 2003-08-08 21:34:39.000000000 -0700
16 +++ linux-2.6.0-test3-l25-zab/mm/filemap.c 2003-09-08 10:48:10.000000000 -0700
17 @@ -81,6 +81,9 @@ void __remove_from_page_cache(struct pag
19 struct address_space *mapping = page->mapping;
21 + if (mapping->a_ops->removepage)
22 + mapping->a_ops->removepage(page);
24 radix_tree_delete(&mapping->page_tree, page->index);
25 list_del(&page->list);