From dcffe12eacd46017d834cab1be62de65348b091e Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Thu, 21 Nov 2002 19:20:11 -0800 Subject: [PATCH] kNFSd - 2 of 2 - Change NFSv4 reply encoding to cope with multiple pages. This allows NFSv4 responses to cover move than one page. There are still limits though. There can be at most one 'data' response which includes READ, READLINK, READDIR. For these responses, the interesting data goes in a separate page or, for READ, list of pages. All responses before the 'data' response must fit in one page, and all responses after it must also fit in one (separate) page. --- include/linux/nfsd/xdr4.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include/linux') diff --git a/include/linux/nfsd/xdr4.h b/include/linux/nfsd/xdr4.h index 72b7c03dfc1a..8359679908ab 100644 --- a/include/linux/nfsd/xdr4.h +++ b/include/linux/nfsd/xdr4.h @@ -173,6 +173,9 @@ struct nfsd4_read { stateid_t rd_stateid; /* request */ u64 rd_offset; /* request */ u32 rd_length; /* request */ + struct iovec rd_iov[RPCSVC_MAXPAGES]; + int rd_vlen; + struct svc_rqst *rd_rqstp; /* response */ struct svc_fh * rd_fhp; /* response */ }; @@ -311,6 +314,8 @@ struct nfsd4_compoundres { /* scratch variables for XDR encode */ u32 * p; u32 * end; + struct xdr_buf * xbuf; + struct svc_rqst * rqstp; u32 taglen; char * tag; -- cgit v1.2.3