[PATCH] Make ->readpages palatable to NFS

From: Trond Myklebust (trond.myklebust@fys.uio.no)
Date: Tue Nov 05 2002 - 21:25:36 EST


The following patch makes the ->readpages() address_space_operation
take a struct file argument just like ->readpage().

Cheers,
  Trond

diff -u --recursive --new-file linux-2.5.46/fs/ext2/inode.c linux-2.5.46-01-readpages1/fs/ext2/inode.c
--- linux-2.5.46/fs/ext2/inode.c 2002-10-31 02:34:12.000000000 -0500
+++ linux-2.5.46-01-readpages1/fs/ext2/inode.c 2002-11-05 07:52:41.000000000 -0500
@@ -599,7 +599,7 @@
 }
 
 static int
-ext2_readpages(struct address_space *mapping,
+ext2_readpages(struct file *file, struct address_space *mapping,
                 struct list_head *pages, unsigned nr_pages)
 {
         return mpage_readpages(mapping, pages, nr_pages, ext2_get_block);
diff -u --recursive --new-file linux-2.5.46/fs/ext3/inode.c linux-2.5.46-01-readpages1/fs/ext3/inode.c
--- linux-2.5.46/fs/ext3/inode.c 2002-10-31 02:32:56.000000000 -0500
+++ linux-2.5.46-01-readpages1/fs/ext3/inode.c 2002-11-05 07:52:41.000000000 -0500
@@ -1385,7 +1385,7 @@
 }
 
 static int
-ext3_readpages(struct address_space *mapping,
+ext3_readpages(struct file *file, struct address_space *mapping,
                 struct list_head *pages, unsigned nr_pages)
 {
         return mpage_readpages(mapping, pages, nr_pages, ext3_get_block);
diff -u --recursive --new-file linux-2.5.46/fs/jfs/inode.c linux-2.5.46-01-readpages1/fs/jfs/inode.c
--- linux-2.5.46/fs/jfs/inode.c 2002-10-28 12:48:59.000000000 -0500
+++ linux-2.5.46-01-readpages1/fs/jfs/inode.c 2002-11-05 07:52:41.000000000 -0500
@@ -293,7 +293,7 @@
         return mpage_readpage(page, jfs_get_block);
 }
 
-static int jfs_readpages(struct address_space *mapping,
+static int jfs_readpages(struct file *file, struct address_space *mapping,
                 struct list_head *pages, unsigned nr_pages)
 {
         return mpage_readpages(mapping, pages, nr_pages, jfs_get_block);
diff -u --recursive --new-file linux-2.5.46/fs/xfs/linux/xfs_aops.c linux-2.5.46-01-readpages1/fs/xfs/linux/xfs_aops.c
--- linux-2.5.46/fs/xfs/linux/xfs_aops.c 2002-10-28 12:48:59.000000000 -0500
+++ linux-2.5.46-01-readpages1/fs/xfs/linux/xfs_aops.c 2002-11-05 07:52:41.000000000 -0500
@@ -644,6 +644,7 @@
 
 STATIC int
 linvfs_readpages(
+ struct file *unused,
         struct address_space *mapping,
         struct list_head *pages,
         unsigned nr_pages)
diff -u --recursive --new-file linux-2.5.46/include/linux/fs.h linux-2.5.46-01-readpages1/include/linux/fs.h
--- linux-2.5.46/include/linux/fs.h 2002-11-03 14:49:39.000000000 -0500
+++ linux-2.5.46-01-readpages1/include/linux/fs.h 2002-11-05 07:52:41.000000000 -0500
@@ -297,7 +297,7 @@
         /* Set a page dirty */
         int (*set_page_dirty)(struct page *page);
 
- int (*readpages)(struct address_space *mapping,
+ int (*readpages)(struct file *filp, struct address_space *mapping,
                         struct list_head *pages, unsigned nr_pages);
 
         /*
diff -u --recursive --new-file linux-2.5.46/mm/readahead.c linux-2.5.46-01-readpages1/mm/readahead.c
--- linux-2.5.46/mm/readahead.c 2002-10-29 19:59:58.000000000 -0500
+++ linux-2.5.46-01-readpages1/mm/readahead.c 2002-11-05 07:52:41.000000000 -0500
@@ -52,7 +52,7 @@
         pagevec_init(&lru_pvec, 0);
 
         if (mapping->a_ops->readpages)
- return mapping->a_ops->readpages(mapping, pages, nr_pages);
+ return mapping->a_ops->readpages(filp, mapping, pages, nr_pages);
 
         for (page_idx = 0; page_idx < nr_pages; page_idx++) {
                 struct page *page = list_entry(pages->prev, struct page, list);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 07 2002 - 22:00:41 EST