summaryrefslogtreecommitdiffstats
path: root/fs/nfs/internal.h
diff options
context:
space:
mode:
authorFred Isaman <iisaman@netapp.com>2012-04-20 14:47:48 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-04-27 14:10:38 -0400
commit061ae2edb7375ab6776468b075da71008a098b55 (patch)
treea34f25d4d85d90a196b058b879eef3ba374f6d16 /fs/nfs/internal.h
parent6c75dc0d498caa402fb17b1bf769835a9db875c8 (diff)
NFS: create completion structure to pass into page_init functions
Factors out the code that will need to change when directio starts using these code paths. This will allow directio to use the generic pagein and flush routines Signed-off-by: Fred Isaman <iisaman@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/internal.h')
-rw-r--r--fs/nfs/internal.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
index 16bc9c47c83e..3ef8fcda1a5f 100644
--- a/fs/nfs/internal.h
+++ b/fs/nfs/internal.h
@@ -300,11 +300,10 @@ extern struct dentry *nfs4_get_root(struct super_block *, struct nfs_fh *,
300extern int nfs4_get_rootfh(struct nfs_server *server, struct nfs_fh *mntfh); 300extern int nfs4_get_rootfh(struct nfs_server *server, struct nfs_fh *mntfh);
301#endif 301#endif
302 302
303struct nfs_pgio_completion_ops;
303/* read.c */ 304/* read.c */
304extern void nfs_async_read_error(struct list_head *head);
305extern struct nfs_read_header *nfs_readhdr_alloc(void); 305extern struct nfs_read_header *nfs_readhdr_alloc(void);
306extern void nfs_readhdr_free(struct nfs_pgio_header *hdr); 306extern void nfs_readhdr_free(struct nfs_pgio_header *hdr);
307extern void nfs_read_completion(struct nfs_pgio_header *hdr);
308extern struct nfs_read_data *nfs_readdata_alloc(struct nfs_pgio_header *hdr, 307extern struct nfs_read_data *nfs_readdata_alloc(struct nfs_pgio_header *hdr,
309 unsigned int pagecount); 308 unsigned int pagecount);
310extern int nfs_initiate_read(struct rpc_clnt *clnt, 309extern int nfs_initiate_read(struct rpc_clnt *clnt,
@@ -314,21 +313,21 @@ extern void nfs_read_prepare(struct rpc_task *task, void *calldata);
314extern int nfs_generic_pagein(struct nfs_pageio_descriptor *desc, 313extern int nfs_generic_pagein(struct nfs_pageio_descriptor *desc,
315 struct nfs_pgio_header *hdr); 314 struct nfs_pgio_header *hdr);
316extern void nfs_pageio_init_read_mds(struct nfs_pageio_descriptor *pgio, 315extern void nfs_pageio_init_read_mds(struct nfs_pageio_descriptor *pgio,
317 struct inode *inode); 316 struct inode *inode,
317 const struct nfs_pgio_completion_ops *compl_ops);
318extern void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio); 318extern void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio);
319extern void nfs_readdata_release(struct nfs_read_data *rdata); 319extern void nfs_readdata_release(struct nfs_read_data *rdata);
320 320
321/* write.c */ 321/* write.c */
322extern void nfs_async_write_error(struct list_head *head);
323extern struct nfs_write_header *nfs_writehdr_alloc(void); 322extern struct nfs_write_header *nfs_writehdr_alloc(void);
324extern void nfs_writehdr_free(struct nfs_pgio_header *hdr); 323extern void nfs_writehdr_free(struct nfs_pgio_header *hdr);
325extern struct nfs_write_data *nfs_writedata_alloc(struct nfs_pgio_header *hdr, 324extern struct nfs_write_data *nfs_writedata_alloc(struct nfs_pgio_header *hdr,
326 unsigned int pagecount); 325 unsigned int pagecount);
327extern void nfs_write_completion(struct nfs_pgio_header *hdr);
328extern int nfs_generic_flush(struct nfs_pageio_descriptor *desc, 326extern int nfs_generic_flush(struct nfs_pageio_descriptor *desc,
329 struct nfs_pgio_header *hdr); 327 struct nfs_pgio_header *hdr);
330extern void nfs_pageio_init_write_mds(struct nfs_pageio_descriptor *pgio, 328extern void nfs_pageio_init_write_mds(struct nfs_pageio_descriptor *pgio,
331 struct inode *inode, int ioflags); 329 struct inode *inode, int ioflags,
330 const struct nfs_pgio_completion_ops *compl_ops);
332extern void nfs_pageio_reset_write_mds(struct nfs_pageio_descriptor *pgio); 331extern void nfs_pageio_reset_write_mds(struct nfs_pageio_descriptor *pgio);
333extern void nfs_writedata_release(struct nfs_write_data *wdata); 332extern void nfs_writedata_release(struct nfs_write_data *wdata);
334extern void nfs_commit_free(struct nfs_commit_data *p); 333extern void nfs_commit_free(struct nfs_commit_data *p);