aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/pnfs.h
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2011-06-10 13:30:23 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-07-12 13:40:28 -0400
commitd8007d4dd6ff8749cc8a4063c3ec87442db76d82 (patch)
treef778176d24666f2e2c7cd7ef4dc5917aa11cc207 /fs/nfs/pnfs.h
parent1751c3638f2a07a8c66a803a31791bab9bd3fced (diff)
NFSv4.1: Add an initialisation callback for pNFS
Ensure that we always get a layout before setting up the i/o request. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/pnfs.h')
-rw-r--r--fs/nfs/pnfs.h14
1 files changed, 2 insertions, 12 deletions
diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
index 137a2bd5c8c7..dd54351ae6ac 100644
--- a/fs/nfs/pnfs.h
+++ b/fs/nfs/pnfs.h
@@ -149,10 +149,6 @@ extern int nfs4_proc_layoutreturn(struct nfs4_layoutreturn *lrp);
149/* pnfs.c */ 149/* pnfs.c */
150void get_layout_hdr(struct pnfs_layout_hdr *lo); 150void get_layout_hdr(struct pnfs_layout_hdr *lo);
151void put_lseg(struct pnfs_layout_segment *lseg); 151void put_lseg(struct pnfs_layout_segment *lseg);
152struct pnfs_layout_segment *
153pnfs_update_layout(struct inode *ino, struct nfs_open_context *ctx,
154 loff_t pos, u64 count, enum pnfs_iomode access_type,
155 gfp_t gfp_flags);
156 152
157bool pnfs_pageio_init_read(struct nfs_pageio_descriptor *, struct inode *); 153bool pnfs_pageio_init_read(struct nfs_pageio_descriptor *, struct inode *);
158bool pnfs_pageio_init_write(struct nfs_pageio_descriptor *, struct inode *, int); 154bool pnfs_pageio_init_write(struct nfs_pageio_descriptor *, struct inode *, int);
@@ -163,6 +159,8 @@ enum pnfs_try_status pnfs_try_to_write_data(struct nfs_write_data *,
163 const struct rpc_call_ops *, int); 159 const struct rpc_call_ops *, int);
164enum pnfs_try_status pnfs_try_to_read_data(struct nfs_read_data *, 160enum pnfs_try_status pnfs_try_to_read_data(struct nfs_read_data *,
165 const struct rpc_call_ops *); 161 const struct rpc_call_ops *);
162void pnfs_generic_pg_init_read(struct nfs_pageio_descriptor *, struct nfs_page *);
163void pnfs_generic_pg_init_write(struct nfs_pageio_descriptor *, struct nfs_page *);
166bool pnfs_generic_pg_test(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev, struct nfs_page *req); 164bool pnfs_generic_pg_test(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev, struct nfs_page *req);
167int pnfs_layout_process(struct nfs4_layoutget *lgp); 165int pnfs_layout_process(struct nfs4_layoutget *lgp);
168void pnfs_free_lseg_list(struct list_head *tmp_list); 166void pnfs_free_lseg_list(struct list_head *tmp_list);
@@ -318,14 +316,6 @@ static inline void put_lseg(struct pnfs_layout_segment *lseg)
318{ 316{
319} 317}
320 318
321static inline struct pnfs_layout_segment *
322pnfs_update_layout(struct inode *ino, struct nfs_open_context *ctx,
323 loff_t pos, u64 count, enum pnfs_iomode access_type,
324 gfp_t gfp_flags)
325{
326 return NULL;
327}
328
329static inline enum pnfs_try_status 319static inline enum pnfs_try_status
330pnfs_try_to_read_data(struct nfs_read_data *data, 320pnfs_try_to_read_data(struct nfs_read_data *data,
331 const struct rpc_call_ops *call_ops) 321 const struct rpc_call_ops *call_ops)