diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-22 14:32:15 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-22 14:32:15 -0700 |
commit | 9092131f7ea2f9e92a510ae13ac4d20165aa921c (patch) | |
tree | 4bcac80a227d320b69454057cdcef41ef43c6c85 /include/linux/sunrpc/svc.h | |
parent | f1b04770b0d073a9d70e5b3b873d274c1c19e1f6 (diff) | |
parent | eadf4598e7ec37a234e70e965bd335860e58bda4 (diff) | |
download | talos-op-linux-9092131f7ea2f9e92a510ae13ac4d20165aa921c.tar.gz talos-op-linux-9092131f7ea2f9e92a510ae13ac4d20165aa921c.zip |
Merge rsync://client.linux-nfs.org/pub/linux/nfs-2.6
Diffstat (limited to 'include/linux/sunrpc/svc.h')
-rw-r--r-- | include/linux/sunrpc/svc.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h index 37003970cf2e..5af8800e0ce3 100644 --- a/include/linux/sunrpc/svc.h +++ b/include/linux/sunrpc/svc.h @@ -185,6 +185,17 @@ xdr_ressize_check(struct svc_rqst *rqstp, u32 *p) return vec->iov_len <= PAGE_SIZE; } +static inline struct page * +svc_take_res_page(struct svc_rqst *rqstp) +{ + if (rqstp->rq_arghi <= rqstp->rq_argused) + return NULL; + rqstp->rq_arghi--; + rqstp->rq_respages[rqstp->rq_resused] = + rqstp->rq_argpages[rqstp->rq_arghi]; + return rqstp->rq_respages[rqstp->rq_resused++]; +} + static inline int svc_take_page(struct svc_rqst *rqstp) { if (rqstp->rq_arghi <= rqstp->rq_argused) @@ -240,9 +251,10 @@ struct svc_deferred_req { }; /* - * RPC program + * List of RPC programs on the same transport endpoint */ struct svc_program { + struct svc_program * pg_next; /* other programs (same xprt) */ u32 pg_prog; /* program number */ unsigned int pg_lovers; /* lowest version */ unsigned int pg_hivers; /* lowest version */ |