summaryrefslogtreecommitdiffstats
path: root/include/linux/sunrpc/svc.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-22 14:32:15 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-22 14:32:15 -0700
commit9092131f7ea2f9e92a510ae13ac4d20165aa921c (patch)
tree4bcac80a227d320b69454057cdcef41ef43c6c85 /include/linux/sunrpc/svc.h
parentf1b04770b0d073a9d70e5b3b873d274c1c19e1f6 (diff)
parenteadf4598e7ec37a234e70e965bd335860e58bda4 (diff)
downloadtalos-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.h14
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 */
OpenPOWER on IntegriCloud