|
@@ -539,15 +539,16 @@ rpcrdma_marshal_req(struct rpc_rqst *rqst)
|
|
/*
|
|
/*
|
|
* Chunks needed for results?
|
|
* Chunks needed for results?
|
|
*
|
|
*
|
|
- * o Read ops return data as write chunk(s), header as inline.
|
|
|
|
* o If the expected result is under the inline threshold, all ops
|
|
* o If the expected result is under the inline threshold, all ops
|
|
* return as inline.
|
|
* return as inline.
|
|
|
|
+ * o Large read ops return data as write chunk(s), header as
|
|
|
|
+ * inline.
|
|
* o Large non-read ops return as a single reply chunk.
|
|
* o Large non-read ops return as a single reply chunk.
|
|
*/
|
|
*/
|
|
- if (rqst->rq_rcv_buf.flags & XDRBUF_READ)
|
|
|
|
- wtype = rpcrdma_writech;
|
|
|
|
- else if (rpcrdma_results_inline(r_xprt, rqst))
|
|
|
|
|
|
+ if (rpcrdma_results_inline(r_xprt, rqst))
|
|
wtype = rpcrdma_noch;
|
|
wtype = rpcrdma_noch;
|
|
|
|
+ else if (rqst->rq_rcv_buf.flags & XDRBUF_READ)
|
|
|
|
+ wtype = rpcrdma_writech;
|
|
else
|
|
else
|
|
wtype = rpcrdma_replych;
|
|
wtype = rpcrdma_replych;
|
|
|
|
|