diff options
author | Fred Isaman <iisaman@netapp.com> | 2011-02-28 20:34:15 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-03-11 15:38:42 -0500 |
commit | bae724ef95b0d0a1f4518f5451e7c8aabc41f820 (patch) | |
tree | 07a2c1866698f183235f7133ac7c004121717bf8 /include | |
parent | 94ad1c80e28f9700c84b4d28d1e5302ddf63a6fd (diff) |
NFSv4.1: shift pnfs_update_layout locations
Move the pnfs_update_layout call location to nfs_pageio_do_add_request().
Grab the lseg sent in the doio function to nfs_read_rpcsetup and attach
it to each nfs_read_data so it can be sent to the layout driver.
Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Andy Adamson <andros@citi.umich.edu>
Signed-off-by: Dean Hildebrand <dhildeb@us.ibm.com>
Signed-off-by: Fred Isaman <iisaman@citi.umich.edu>
Signed-off-by: Fred Isaman <iisaman@netapp.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Tao Guo <guotao@nrchpc.ac.cn>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nfs_page.h | 4 | ||||
-rw-r--r-- | include/linux/nfs_xdr.h | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h index 4eaf27a1282d..ba88ff4f8186 100644 --- a/include/linux/nfs_page.h +++ b/include/linux/nfs_page.h | |||
@@ -59,7 +59,7 @@ struct nfs_pageio_descriptor { | |||
59 | unsigned int pg_base; | 59 | unsigned int pg_base; |
60 | 60 | ||
61 | struct inode *pg_inode; | 61 | struct inode *pg_inode; |
62 | int (*pg_doio)(struct inode *, struct list_head *, unsigned int, size_t, int); | 62 | int (*pg_doio)(struct inode *, struct list_head *, unsigned int, size_t, int, struct pnfs_layout_segment *); |
63 | int pg_ioflags; | 63 | int pg_ioflags; |
64 | int pg_error; | 64 | int pg_error; |
65 | struct pnfs_layout_segment *pg_lseg; | 65 | struct pnfs_layout_segment *pg_lseg; |
@@ -81,7 +81,7 @@ extern int nfs_scan_list(struct nfs_inode *nfsi, struct list_head *dst, | |||
81 | pgoff_t idx_start, unsigned int npages, int tag); | 81 | pgoff_t idx_start, unsigned int npages, int tag); |
82 | extern void nfs_pageio_init(struct nfs_pageio_descriptor *desc, | 82 | extern void nfs_pageio_init(struct nfs_pageio_descriptor *desc, |
83 | struct inode *inode, | 83 | struct inode *inode, |
84 | int (*doio)(struct inode *, struct list_head *, unsigned int, size_t, int), | 84 | int (*doio)(struct inode *, struct list_head *, unsigned int, size_t, int, struct pnfs_layout_segment *), |
85 | size_t bsize, | 85 | size_t bsize, |
86 | int how); | 86 | int how); |
87 | extern int nfs_pageio_add_request(struct nfs_pageio_descriptor *, | 87 | extern int nfs_pageio_add_request(struct nfs_pageio_descriptor *, |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index d159fe733381..560923e28723 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -1017,6 +1017,7 @@ struct nfs_read_data { | |||
1017 | struct nfs_readargs args; | 1017 | struct nfs_readargs args; |
1018 | struct nfs_readres res; | 1018 | struct nfs_readres res; |
1019 | unsigned long timestamp; /* For lease renewal */ | 1019 | unsigned long timestamp; /* For lease renewal */ |
1020 | struct pnfs_layout_segment *lseg; | ||
1020 | struct page *page_array[NFS_PAGEVEC_SIZE]; | 1021 | struct page *page_array[NFS_PAGEVEC_SIZE]; |
1021 | }; | 1022 | }; |
1022 | 1023 | ||