--- /dev/null
+ include/linux/mm.h | 1 +
+ mm/filemap.c | 3 ++-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+--- linux-2.4.18-18/include/linux/mm.h~export-truncate 2003-04-05 02:54:55.000000000 -0700
++++ linux-2.4.18-18-braam/include/linux/mm.h 2003-04-09 17:37:46.000000000 -0600
+@@ -650,6 +650,7 @@ struct zone_t;
+ /* filemap.c */
+ extern void remove_inode_page(struct page *);
+ extern unsigned long page_unuse(struct page *);
++extern void truncate_complete_page(struct page *);
+ extern void truncate_inode_pages(struct address_space *, loff_t);
+
+ /* generic vm_area_ops exported for stackable file systems */
+--- linux-2.4.18-18/mm/filemap.c~export-truncate 2003-04-05 02:54:55.000000000 -0700
++++ linux-2.4.18-18-braam/mm/filemap.c 2003-04-09 17:37:46.000000000 -0600
+@@ -245,7 +245,7 @@ static inline void truncate_partial_page
+ do_flushpage(page, partial);
+ }
+
+-static void truncate_complete_page(struct page *page)
++void truncate_complete_page(struct page *page)
+ {
+ /*
+ * Leave it on the LRU if it gets converted into anonymous buffers
+@@ -266,6 +266,7 @@ static void truncate_complete_page(struc
+ remove_inode_page(page);
+ page_cache_release(page);
+ }
++EXPORT_SYMBOL_GPL(truncate_complete_page);
+
+ static int FASTCALL(truncate_list_pages(struct list_head *, unsigned long, unsigned *));
+ static int truncate_list_pages(struct list_head *head, unsigned long start, unsigned *partial)
+
+_