--- /dev/null
+ include/linux/fs.h | 1 +
+ mm/filemap.c | 3 +++
+ 2 files changed, 4 insertions(+)
+
+--- linux-2.6.0-test3-l25/include/linux/fs.h~removepage-2.6.0 2003-09-05 15:31:52.000000000 -0700
++++ linux-2.6.0-test3-l25-zab/include/linux/fs.h 2003-09-08 10:47:30.000000000 -0700
+@@ -311,6 +311,7 @@ struct address_space_operations {
+ int (*releasepage) (struct page *, int);
+ int (*direct_IO)(int, struct kiocb *, const struct iovec *iov,
+ loff_t offset, unsigned long nr_segs);
++ void (*removepage)(struct page *); /* called when page gets removed from the inode */
+ };
+
+ struct backing_dev_info;
+--- linux-2.6.0-test3-l25/mm/filemap.c~removepage-2.6.0 2003-08-08 21:34:39.000000000 -0700
++++ linux-2.6.0-test3-l25-zab/mm/filemap.c 2003-09-08 10:48:10.000000000 -0700
+@@ -81,6 +81,9 @@ void __remove_from_page_cache(struct pag
+ {
+ struct address_space *mapping = page->mapping;
+
++ if (mapping->a_ops->removepage)
++ mapping->a_ops->removepage(page);
++
+ radix_tree_delete(&mapping->page_tree, page->index);
+ list_del(&page->list);
+ page->mapping = NULL;
+
+_
#include <linux/pagemap.h> // XXX kill me soon
#include <linux/version.h>
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0))
-
#define DEBUG_SUBSYSTEM S_FILTER
#include <linux/obd_class.h>
int ext3_map_inode_page(struct inode *inode, struct page *page,
unsigned long *blocks, int *created, int create);
+/* 512byte block min */
+#define MAX_BLOCKS_PER_PAGE (PAGE_SIZE / 512)
struct dio_request {
atomic_t numreqs; /* number of reqs being processed */
struct bio *bio_list; /* list of completed bios */
wait_queue_head_t wait;
- int created[16]; /* 8KB pages man , 512bytes block min */
- unsigned long blocks[16]; /* -- */
+ int created[MAX_BLOCKS_PER_PAGE];
+ unsigned long blocks[MAX_BLOCKS_PER_PAGE];
spinlock_t lock;
};
LASSERT(current->journal_info == NULL);
blocks_per_page = PAGE_SIZE >> inode->i_blkbits;
- LASSERT(blocks_per_page <= 16);
+ LASSERT(blocks_per_page <= MAX_BLOCKS_PER_PAGE);
OBD_ALLOC(dreq, sizeof(*dreq));
if (dreq == NULL)
RETURN(rc);
}
-
-
-#endif
-