From abfa034e4b8ed0046fa589769e9840af645bc4ba Mon Sep 17 00:00:00 2001 From: "Aneesh Kumar K.V" Date: Tue, 16 Aug 2011 10:50:10 +0530 Subject: fs/9p: Update zero-copy implementation in 9p * remove lot of update to different data structure * add a seperate callback for zero copy request. * above makes non zero copy code path simpler * remove conditionalizing TREAD/TREADDIR/TWRITE in the zero copy path * Fix the dotu p9_check_errors with zero copy. Add sufficient doc around * Add support for both in and output buffers in zero copy callback * pin and unpin pages in the same context * use helpers instead of defining page offset and rest of page ourself * Fix mem leak in p9_check_errors * Remove 'E' and 'F' in p9pdu_vwritef Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Van Hensbergen --- include/net/9p/9p.h | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'include/net/9p/9p.h') diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h index a6326ef8ade6..d83a01300871 100644 --- a/include/net/9p/9p.h +++ b/include/net/9p/9p.h @@ -359,6 +359,9 @@ enum p9_qid_t { /* Room for readdir header */ #define P9_READDIRHDRSZ 24 +/* size of header for zero copy read/write */ +#define P9_ZC_HDR_SZ 4096 + /** * struct p9_qid - file system entity information * @type: 8-bit type &p9_qid_t @@ -555,10 +558,6 @@ struct p9_rstatfs { * @tag: transaction id of the request * @offset: used by marshalling routines to track current position in buffer * @capacity: used by marshalling routines to track total malloc'd capacity - * @pubuf: Payload user buffer given by the caller - * @pkbuf: Payload kernel buffer given by the caller - * @pbuf_size: pubuf/pkbuf(only one will be !NULL) size to be read/write. - * @private: For transport layer's use. * @sdata: payload * * &p9_fcall represents the structure for all 9P RPC @@ -575,10 +574,6 @@ struct p9_fcall { size_t offset; size_t capacity; - char __user *pubuf; - char *pkbuf; - size_t pbuf_size; - void *private; u8 *sdata; }; -- cgit v1.2.3