diff options
| author | Bryan Schumaker <bjschuma@netapp.com> | 2012-06-20 15:53:48 -0400 | 
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-06-29 11:46:46 -0400 | 
| commit | 57208fa7e51ca16cd68de8e8bf482f16b06d3ea1 (patch) | |
| tree | c34e830385439ac3ec5679c37266c2caa922e9aa /fs/nfs/write.c | |
| parent | 1abb50886afe8a126705c93dab2b50c1252a9c19 (diff) | |
| download | olio-linux-3.10-57208fa7e51ca16cd68de8e8bf482f16b06d3ea1.tar.xz olio-linux-3.10-57208fa7e51ca16cd68de8e8bf482f16b06d3ea1.zip  | |
NFS: Create an write_pageio_init() function
pNFS needs to select a write function based on the layout driver
currently in use, so I let each NFS version decide how to best handle
initializing writes.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/write.c')
| -rw-r--r-- | fs/nfs/write.c | 18 | 
1 files changed, 6 insertions, 12 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index f163355b961..c11fb0025f0 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -336,8 +336,10 @@ static int nfs_writepage_locked(struct page *page, struct writeback_control *wbc  	struct nfs_pageio_descriptor pgio;  	int err; -	nfs_pageio_init_write(&pgio, page->mapping->host, wb_priority(wbc), -			      &nfs_async_write_completion_ops); +	NFS_PROTO(page->mapping->host)->write_pageio_init(&pgio, +							  page->mapping->host, +							  wb_priority(wbc), +							  &nfs_async_write_completion_ops);  	err = nfs_do_writepage(page, wbc, &pgio);  	nfs_pageio_complete(&pgio);  	if (err < 0) @@ -380,8 +382,7 @@ int nfs_writepages(struct address_space *mapping, struct writeback_control *wbc)  	nfs_inc_stats(inode, NFSIOS_VFSWRITEPAGES); -	nfs_pageio_init_write(&pgio, inode, wb_priority(wbc), -			      &nfs_async_write_completion_ops); +	NFS_PROTO(inode)->write_pageio_init(&pgio, inode, wb_priority(wbc), &nfs_async_write_completion_ops);  	err = write_cache_pages(mapping, wbc, nfs_writepages_callback, &pgio);  	nfs_pageio_complete(&pgio); @@ -1202,7 +1203,7 @@ static const struct nfs_pageio_ops nfs_pageio_write_ops = {  	.pg_doio = nfs_generic_pg_writepages,  }; -void nfs_pageio_init_write_mds(struct nfs_pageio_descriptor *pgio, +void nfs_pageio_init_write(struct nfs_pageio_descriptor *pgio,  			       struct inode *inode, int ioflags,  			       const struct nfs_pgio_completion_ops *compl_ops)  { @@ -1217,13 +1218,6 @@ void nfs_pageio_reset_write_mds(struct nfs_pageio_descriptor *pgio)  }  EXPORT_SYMBOL_GPL(nfs_pageio_reset_write_mds); -void nfs_pageio_init_write(struct nfs_pageio_descriptor *pgio, -			   struct inode *inode, int ioflags, -			   const struct nfs_pgio_completion_ops *compl_ops) -{ -	if (!pnfs_pageio_init_write(pgio, inode, ioflags, compl_ops)) -		nfs_pageio_init_write_mds(pgio, inode, ioflags, compl_ops); -}  void nfs_write_prepare(struct rpc_task *task, void *calldata)  {  |