--- /dev/null
+ include/linux/fs.h | 1 +
+ mm/filemap.c | 3 +++
+ 2 files changed, 4 insertions(+)
+
+--- linux-2.4.20-b_llpmd-l24/include/linux/fs.h~removepage-2.4.20 2003-09-05 11:45:42.000000000 -0700
++++ linux-2.4.20-b_llpmd-l24-zab/include/linux/fs.h 2003-09-05 11:46:25.000000000 -0700
+@@ -402,6 +402,7 @@ struct address_space_operations {
+ int (*releasepage) (struct page *, int);
+ #define KERNEL_HAS_O_DIRECT /* this is for modules out of the kernel */
+ int (*direct_IO)(int, struct inode *, struct kiobuf *, unsigned long, int);
++ void (*removepage)(struct page *); /* called when page gets removed from the inode */
+ };
+
+ struct address_space {
+--- linux-2.4.20-b_llpmd-l24/mm/filemap.c~removepage-2.4.20 2003-09-05 11:45:42.000000000 -0700
++++ linux-2.4.20-b_llpmd-l24-zab/mm/filemap.c 2003-09-05 11:46:25.000000000 -0700
+@@ -95,6 +95,9 @@ static inline void remove_page_from_inod
+ {
+ struct address_space * mapping = page->mapping;
+
++ if (mapping->a_ops->removepage)
++ mapping->a_ops->removepage(page);
++
+ mapping->nrpages--;
+ list_del(&page->list);
+ page->mapping = NULL;
+
+_
#include <linux/kp30.h>
#include <linux/lustre_mds.h> /* for mds_objid */
-#include <linux/lustre_otree.h>
#include <linux/obd_ost.h>
#include <linux/lustre_commit_confd.h>
#include <linux/obd_lov.h>