summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@fys.uio.no>2002-11-05 04:49:27 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2002-11-05 04:49:27 -0800
commitb729e488b9902f8ba95d2064e4a6a809000ff3b1 (patch)
treee67baa1ac5e5f39a126a44c0ae2ac7eaef0ec3a3
parent6b886bd82063af1f7ac0687c7b08ca874bca155e (diff)
[PATCH] Make ->readpages palatable to NFS
The following patch makes the ->readpages() address_space_operation take a struct file argument just like ->readpage().
-rw-r--r--fs/ext2/inode.c2
-rw-r--r--fs/ext3/inode.c2
-rw-r--r--fs/jfs/inode.c2
-rw-r--r--fs/xfs/linux/xfs_aops.c1
-rw-r--r--include/linux/fs.h2
-rw-r--r--mm/readahead.c2
6 files changed, 6 insertions, 5 deletions
diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c
index b920d19cf8ba..36299aeacb29 100644
--- a/fs/ext2/inode.c
+++ b/fs/ext2/inode.c
@@ -599,7 +599,7 @@ static int ext2_readpage(struct file *file, struct page *page)
}
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 --git a/fs/ext3/inode.c b/fs/ext3/inode.c
index c4fe6643a368..2f108f884030 100644
--- a/fs/ext3/inode.c
+++ b/fs/ext3/inode.c
@@ -1385,7 +1385,7 @@ static int ext3_readpage(struct file *file, struct page *page)
}
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 --git a/fs/jfs/inode.c b/fs/jfs/inode.c
index fe9560e59e87..91d4f5cf2182 100644
--- a/fs/jfs/inode.c
+++ b/fs/jfs/inode.c
@@ -293,7 +293,7 @@ static int jfs_readpage(struct file *file, struct page *page)
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 --git a/fs/xfs/linux/xfs_aops.c b/fs/xfs/linux/xfs_aops.c
index e4ecd6729214..ae03f46448d0 100644
--- a/fs/xfs/linux/xfs_aops.c
+++ b/fs/xfs/linux/xfs_aops.c
@@ -644,6 +644,7 @@ linvfs_readpage(
STATIC int
linvfs_readpages(
+ struct file *unused,
struct address_space *mapping,
struct list_head *pages,
unsigned nr_pages)
diff --git a/include/linux/fs.h b/include/linux/fs.h
index c100c6297103..4e0e4bd005a6 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -297,7 +297,7 @@ struct address_space_operations {
/* 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 --git a/mm/readahead.c b/mm/readahead.c
index 61285671c793..56de20398946 100644
--- a/mm/readahead.c
+++ b/mm/readahead.c
@@ -52,7 +52,7 @@ read_pages(struct address_space *mapping, struct file *filp,
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);