diff options
author | Peng Tao <bergwolf@gmail.com> | 2012-09-25 02:55:57 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-10-08 19:32:22 -0400 |
commit | 6296556f0b31eaff29f2a3aee2c17b7eae895b98 (patch) | |
tree | 19f39cac9cff045e8c753ab8908deadc1c9c6bab /fs/nfs/pnfs.h | |
parent | 35754bc00e94e598c432ad02f7a3d3063c4402e3 (diff) |
NFS41: send real write size in layoutget
For buffer write, block layout client scan inode mapping to find
next hole and use offset-to-hole as layoutget length. Object
layout client uses offset-to-isize as layoutget length.
For direct write, both block layout and object layout use dreq->bytes_left.
Signed-off-by: Peng Tao <tao.peng@emc.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/pnfs.h')
-rw-r--r-- | fs/nfs/pnfs.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h index 6cede2c6c961..2d722dba1111 100644 --- a/fs/nfs/pnfs.h +++ b/fs/nfs/pnfs.h | |||
@@ -186,7 +186,8 @@ void set_pnfs_layoutdriver(struct nfs_server *, const struct nfs_fh *, u32); | |||
186 | void unset_pnfs_layoutdriver(struct nfs_server *); | 186 | void unset_pnfs_layoutdriver(struct nfs_server *); |
187 | void pnfs_generic_pg_init_read(struct nfs_pageio_descriptor *, struct nfs_page *); | 187 | void pnfs_generic_pg_init_read(struct nfs_pageio_descriptor *, struct nfs_page *); |
188 | int pnfs_generic_pg_readpages(struct nfs_pageio_descriptor *desc); | 188 | int pnfs_generic_pg_readpages(struct nfs_pageio_descriptor *desc); |
189 | void pnfs_generic_pg_init_write(struct nfs_pageio_descriptor *, struct nfs_page *); | 189 | void pnfs_generic_pg_init_write(struct nfs_pageio_descriptor *pgio, |
190 | struct nfs_page *req, u64 wb_size); | ||
190 | int pnfs_generic_pg_writepages(struct nfs_pageio_descriptor *desc); | 191 | int pnfs_generic_pg_writepages(struct nfs_pageio_descriptor *desc); |
191 | bool pnfs_generic_pg_test(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev, struct nfs_page *req); | 192 | bool pnfs_generic_pg_test(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev, struct nfs_page *req); |
192 | void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg); | 193 | void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg); |