diff options
Diffstat (limited to 'fs/nfs/read.c')
| -rw-r--r-- | fs/nfs/read.c | 27 | 
1 files changed, 11 insertions, 16 deletions
diff --git a/fs/nfs/read.c b/fs/nfs/read.c index 86ced7836214..b6bdb18e892c 100644 --- a/fs/nfs/read.c +++ b/fs/nfs/read.c @@ -20,8 +20,6 @@  #include <linux/nfs_page.h>  #include <linux/module.h> -#include "pnfs.h" -  #include "nfs4_fs.h"  #include "internal.h"  #include "iostat.h" @@ -50,6 +48,7 @@ struct nfs_read_header *nfs_readhdr_alloc(void)  	}  	return rhdr;  } +EXPORT_SYMBOL_GPL(nfs_readhdr_alloc);  static struct nfs_read_data *nfs_readdata_alloc(struct nfs_pgio_header *hdr,  						unsigned int pagecount) @@ -82,6 +81,7 @@ void nfs_readhdr_free(struct nfs_pgio_header *hdr)  	kmem_cache_free(nfs_rdata_cachep, rhdr);  } +EXPORT_SYMBOL_GPL(nfs_readhdr_free);  void nfs_readdata_release(struct nfs_read_data *rdata)  { @@ -98,6 +98,7 @@ void nfs_readdata_release(struct nfs_read_data *rdata)  	if (atomic_dec_and_test(&hdr->refcnt))  		hdr->completion_ops->completion(hdr);  } +EXPORT_SYMBOL_GPL(nfs_readdata_release);  static  int nfs_return_empty_page(struct page *page) @@ -108,13 +109,14 @@ int nfs_return_empty_page(struct page *page)  	return 0;  } -void nfs_pageio_init_read_mds(struct nfs_pageio_descriptor *pgio, +void nfs_pageio_init_read(struct nfs_pageio_descriptor *pgio,  			      struct inode *inode,  			      const struct nfs_pgio_completion_ops *compl_ops)  {  	nfs_pageio_init(pgio, inode, &nfs_pageio_read_ops, compl_ops,  			NFS_SERVER(inode)->rsize, 0);  } +EXPORT_SYMBOL_GPL(nfs_pageio_init_read);  void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio)  { @@ -123,14 +125,6 @@ void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio)  }  EXPORT_SYMBOL_GPL(nfs_pageio_reset_read_mds); -void nfs_pageio_init_read(struct nfs_pageio_descriptor *pgio, -			  struct inode *inode, -			  const struct nfs_pgio_completion_ops *compl_ops) -{ -	if (!pnfs_pageio_init_read(pgio, inode, compl_ops)) -		nfs_pageio_init_read_mds(pgio, inode, compl_ops); -} -  int nfs_readpage_async(struct nfs_open_context *ctx, struct inode *inode,  		       struct page *page)  { @@ -149,7 +143,7 @@ int nfs_readpage_async(struct nfs_open_context *ctx, struct inode *inode,  	if (len < PAGE_CACHE_SIZE)  		zero_user_segment(page, len, PAGE_CACHE_SIZE); -	nfs_pageio_init_read(&pgio, inode, &nfs_async_read_completion_ops); +	NFS_PROTO(inode)->read_pageio_init(&pgio, inode, &nfs_async_read_completion_ops);  	nfs_pageio_add_request(&pgio, new);  	nfs_pageio_complete(&pgio);  	NFS_I(inode)->read_io += pgio.pg_bytes_written; @@ -407,6 +401,7 @@ int nfs_generic_pagein(struct nfs_pageio_descriptor *desc,  		return nfs_pagein_multi(desc, hdr);  	return nfs_pagein_one(desc, hdr);  } +EXPORT_SYMBOL_GPL(nfs_generic_pagein);  static int nfs_generic_pg_readpages(struct nfs_pageio_descriptor *desc)  { @@ -532,11 +527,11 @@ static const struct rpc_call_ops nfs_read_common_ops = {  int nfs_readpage(struct file *file, struct page *page)  {  	struct nfs_open_context *ctx; -	struct inode *inode = page->mapping->host; +	struct inode *inode = page_file_mapping(page)->host;  	int		error;  	dprintk("NFS: nfs_readpage (%p %ld@%lu)\n", -		page, PAGE_CACHE_SIZE, page->index); +		page, PAGE_CACHE_SIZE, page_file_index(page));  	nfs_inc_stats(inode, NFSIOS_VFSREADPAGE);  	nfs_add_stats(inode, NFSIOS_READPAGES, 1); @@ -590,7 +585,7 @@ static int  readpage_async_filler(void *data, struct page *page)  {  	struct nfs_readdesc *desc = (struct nfs_readdesc *)data; -	struct inode *inode = page->mapping->host; +	struct inode *inode = page_file_mapping(page)->host;  	struct nfs_page *new;  	unsigned int len;  	int error; @@ -652,7 +647,7 @@ int nfs_readpages(struct file *filp, struct address_space *mapping,  	if (ret == 0)  		goto read_complete; /* all pages were read */ -	nfs_pageio_init_read(&pgio, inode, &nfs_async_read_completion_ops); +	NFS_PROTO(inode)->read_pageio_init(&pgio, inode, &nfs_async_read_completion_ops);  	ret = read_cache_pages(mapping, pages, readpage_async_filler, &desc);  |