aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/internal.h')
-rw-r--r--fs/nfs/internal.h42
1 files changed, 16 insertions, 26 deletions
diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
index dd8bfc2e2464..617f36611d4a 100644
--- a/fs/nfs/internal.h
+++ b/fs/nfs/internal.h
@@ -231,13 +231,21 @@ extern void nfs_destroy_writepagecache(void);
231 231
232extern int __init nfs_init_directcache(void); 232extern int __init nfs_init_directcache(void);
233extern void nfs_destroy_directcache(void); 233extern void nfs_destroy_directcache(void);
234extern bool nfs_pgarray_set(struct nfs_page_array *p, unsigned int pagecount);
235extern void nfs_pgheader_init(struct nfs_pageio_descriptor *desc, 234extern void nfs_pgheader_init(struct nfs_pageio_descriptor *desc,
236 struct nfs_pgio_header *hdr, 235 struct nfs_pgio_header *hdr,
237 void (*release)(struct nfs_pgio_header *hdr)); 236 void (*release)(struct nfs_pgio_header *hdr));
238void nfs_set_pgio_error(struct nfs_pgio_header *hdr, int error, loff_t pos); 237void nfs_set_pgio_error(struct nfs_pgio_header *hdr, int error, loff_t pos);
239int nfs_iocounter_wait(struct nfs_io_counter *c); 238int nfs_iocounter_wait(struct nfs_io_counter *c);
240 239
240extern const struct nfs_pageio_ops nfs_pgio_rw_ops;
241struct nfs_rw_header *nfs_rw_header_alloc(const struct nfs_rw_ops *);
242void nfs_rw_header_free(struct nfs_pgio_header *);
243void nfs_pgio_data_release(struct nfs_pgio_data *);
244int nfs_generic_pgio(struct nfs_pageio_descriptor *, struct nfs_pgio_header *);
245int nfs_initiate_pgio(struct rpc_clnt *, struct nfs_pgio_data *,
246 const struct rpc_call_ops *, int, int);
247void nfs_free_request(struct nfs_page *req);
248
241static inline void nfs_iocounter_init(struct nfs_io_counter *c) 249static inline void nfs_iocounter_init(struct nfs_io_counter *c)
242{ 250{
243 c->flags = 0; 251 c->flags = 0;
@@ -320,16 +328,14 @@ int nfs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *)
320int nfs_file_fsync_commit(struct file *, loff_t, loff_t, int); 328int nfs_file_fsync_commit(struct file *, loff_t, loff_t, int);
321loff_t nfs_file_llseek(struct file *, loff_t, int); 329loff_t nfs_file_llseek(struct file *, loff_t, int);
322int nfs_file_flush(struct file *, fl_owner_t); 330int nfs_file_flush(struct file *, fl_owner_t);
323ssize_t nfs_file_read(struct kiocb *, const struct iovec *, unsigned long, loff_t); 331ssize_t nfs_file_read(struct kiocb *, struct iov_iter *);
324ssize_t nfs_file_splice_read(struct file *, loff_t *, struct pipe_inode_info *, 332ssize_t nfs_file_splice_read(struct file *, loff_t *, struct pipe_inode_info *,
325 size_t, unsigned int); 333 size_t, unsigned int);
326int nfs_file_mmap(struct file *, struct vm_area_struct *); 334int nfs_file_mmap(struct file *, struct vm_area_struct *);
327ssize_t nfs_file_write(struct kiocb *, const struct iovec *, unsigned long, loff_t); 335ssize_t nfs_file_write(struct kiocb *, struct iov_iter *);
328int nfs_file_release(struct inode *, struct file *); 336int nfs_file_release(struct inode *, struct file *);
329int nfs_lock(struct file *, int, struct file_lock *); 337int nfs_lock(struct file *, int, struct file_lock *);
330int nfs_flock(struct file *, int, struct file_lock *); 338int nfs_flock(struct file *, int, struct file_lock *);
331ssize_t nfs_file_splice_write(struct pipe_inode_info *, struct file *, loff_t *,
332 size_t, unsigned int);
333int nfs_check_flags(int); 339int nfs_check_flags(int);
334int nfs_setlease(struct file *, long, struct file_lock **); 340int nfs_setlease(struct file *, long, struct file_lock **);
335 341
@@ -342,7 +348,7 @@ extern int nfs_drop_inode(struct inode *);
342extern void nfs_clear_inode(struct inode *); 348extern void nfs_clear_inode(struct inode *);
343extern void nfs_evict_inode(struct inode *); 349extern void nfs_evict_inode(struct inode *);
344void nfs_zap_acl_cache(struct inode *inode); 350void nfs_zap_acl_cache(struct inode *inode);
345extern int nfs_wait_bit_killable(void *word); 351extern int nfs_wait_bit_killable(struct wait_bit_key *key);
346 352
347/* super.c */ 353/* super.c */
348extern const struct super_operations nfs_sops; 354extern const struct super_operations nfs_sops;
@@ -395,19 +401,11 @@ extern int nfs4_get_rootfh(struct nfs_server *server, struct nfs_fh *mntfh, bool
395 401
396struct nfs_pgio_completion_ops; 402struct nfs_pgio_completion_ops;
397/* read.c */ 403/* read.c */
398extern struct nfs_read_header *nfs_readhdr_alloc(void);
399extern void nfs_readhdr_free(struct nfs_pgio_header *hdr);
400extern void nfs_pageio_init_read(struct nfs_pageio_descriptor *pgio, 404extern void nfs_pageio_init_read(struct nfs_pageio_descriptor *pgio,
401 struct inode *inode, 405 struct inode *inode, bool force_mds,
402 const struct nfs_pgio_completion_ops *compl_ops); 406 const struct nfs_pgio_completion_ops *compl_ops);
403extern int nfs_initiate_read(struct rpc_clnt *clnt,
404 struct nfs_read_data *data,
405 const struct rpc_call_ops *call_ops, int flags);
406extern void nfs_read_prepare(struct rpc_task *task, void *calldata); 407extern void nfs_read_prepare(struct rpc_task *task, void *calldata);
407extern int nfs_generic_pagein(struct nfs_pageio_descriptor *desc,
408 struct nfs_pgio_header *hdr);
409extern void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio); 408extern void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio);
410extern void nfs_readdata_release(struct nfs_read_data *rdata);
411 409
412/* super.c */ 410/* super.c */
413void nfs_clone_super(struct super_block *, struct nfs_mount_info *); 411void nfs_clone_super(struct super_block *, struct nfs_mount_info *);
@@ -422,19 +420,10 @@ int nfs_remount(struct super_block *sb, int *flags, char *raw_data);
422 420
423/* write.c */ 421/* write.c */
424extern void nfs_pageio_init_write(struct nfs_pageio_descriptor *pgio, 422extern void nfs_pageio_init_write(struct nfs_pageio_descriptor *pgio,
425 struct inode *inode, int ioflags, 423 struct inode *inode, int ioflags, bool force_mds,
426 const struct nfs_pgio_completion_ops *compl_ops); 424 const struct nfs_pgio_completion_ops *compl_ops);
427extern struct nfs_write_header *nfs_writehdr_alloc(void);
428extern void nfs_writehdr_free(struct nfs_pgio_header *hdr);
429extern int nfs_generic_flush(struct nfs_pageio_descriptor *desc,
430 struct nfs_pgio_header *hdr);
431extern void nfs_pageio_reset_write_mds(struct nfs_pageio_descriptor *pgio); 425extern void nfs_pageio_reset_write_mds(struct nfs_pageio_descriptor *pgio);
432extern void nfs_writedata_release(struct nfs_write_data *wdata);
433extern void nfs_commit_free(struct nfs_commit_data *p); 426extern void nfs_commit_free(struct nfs_commit_data *p);
434extern int nfs_initiate_write(struct rpc_clnt *clnt,
435 struct nfs_write_data *data,
436 const struct rpc_call_ops *call_ops,
437 int how, int flags);
438extern void nfs_write_prepare(struct rpc_task *task, void *calldata); 427extern void nfs_write_prepare(struct rpc_task *task, void *calldata);
439extern void nfs_commit_prepare(struct rpc_task *task, void *calldata); 428extern void nfs_commit_prepare(struct rpc_task *task, void *calldata);
440extern int nfs_initiate_commit(struct rpc_clnt *clnt, 429extern int nfs_initiate_commit(struct rpc_clnt *clnt,
@@ -447,6 +436,7 @@ extern void nfs_init_commit(struct nfs_commit_data *data,
447 struct nfs_commit_info *cinfo); 436 struct nfs_commit_info *cinfo);
448int nfs_scan_commit_list(struct list_head *src, struct list_head *dst, 437int nfs_scan_commit_list(struct list_head *src, struct list_head *dst,
449 struct nfs_commit_info *cinfo, int max); 438 struct nfs_commit_info *cinfo, int max);
439unsigned long nfs_reqs_to_commit(struct nfs_commit_info *);
450int nfs_scan_commit(struct inode *inode, struct list_head *dst, 440int nfs_scan_commit(struct inode *inode, struct list_head *dst,
451 struct nfs_commit_info *cinfo); 441 struct nfs_commit_info *cinfo);
452void nfs_mark_request_commit(struct nfs_page *req, 442void nfs_mark_request_commit(struct nfs_page *req,
@@ -492,7 +482,7 @@ static inline void nfs_inode_dio_wait(struct inode *inode)
492extern ssize_t nfs_dreq_bytes_left(struct nfs_direct_req *dreq); 482extern ssize_t nfs_dreq_bytes_left(struct nfs_direct_req *dreq);
493 483
494/* nfs4proc.c */ 484/* nfs4proc.c */
495extern void __nfs4_read_done_cb(struct nfs_read_data *); 485extern void __nfs4_read_done_cb(struct nfs_pgio_data *);
496extern struct nfs_client *nfs4_init_client(struct nfs_client *clp, 486extern struct nfs_client *nfs4_init_client(struct nfs_client *clp,
497 const struct rpc_timeout *timeparms, 487 const struct rpc_timeout *timeparms,
498 const char *ip_addr); 488 const char *ip_addr);