2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-02 02:34:05 +08:00
linux-next/include/linux/sunrpc
Chuck Lever 5fdca65314 svcrdma: Renovate sendto chunk list parsing
The current sendto code appears to support clients that provide only
one of a Read list, a Write list, or a Reply chunk. My reading of
that code is that it doesn't support the following cases:

 - Read list + Write list
 - Read list + Reply chunk
 - Write list + Reply chunk
 - Read list + Write list + Reply chunk

The protocol allows more than one Read or Write chunk in those
lists. Some clients do send a Read list and Reply chunk
simultaneously. NFSv4 WRITE uses a Read list for the data payload,
and a Reply chunk because the GETATTR result in the reply can
contain a large object like an ACL.

Generalize one of the sendto code paths needed to support all of
the above cases, and attempt to ensure that only one pass is done
through the RPC Call's transport header to gather chunk list
information for building the reply.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2016-11-30 17:31:12 -05:00
..
addr.h SUNRPC: Drop double-underscores from __rpc_cmp_addr6() 2015-08-17 14:47:53 -05:00
auth_gss.h
auth.h sunrpc: add hash_cred() function to rpc_authops struct 2016-09-30 15:28:46 -04:00
bc_xprt.h SUNRPC: Abstract backchannel operations 2015-11-02 13:45:15 -05:00
cache.h sunrpc: remove 'inuse' flag from struct cache_detail. 2016-07-13 15:32:47 -04:00
clnt.h SUNRPC: rpc_clnt_add_xprt setup function for NFS layer 2016-09-19 13:08:36 -04:00
debug.h sunrpc: make debugfs file creation failure non-fatal 2015-04-23 14:42:27 -04:00
gss_api.h xprtrdma: No direct data placement with krb5i and krb5p 2016-07-11 15:50:43 -04:00
gss_asn1.h
gss_err.h
gss_krb5_enctypes.h
gss_krb5.h sunrpc: Use skcipher and ahash/shash 2016-01-27 20:36:01 +08:00
metrics.h
msg_prot.h sunrpc: Update RPCBIND_MAXNETIDLEN 2016-05-17 15:47:56 -04:00
rpc_pipe_fs.h
rpc_rdma.h rpcrdma: RDMA/CM private message data structure 2016-09-23 10:18:53 -04:00
sched.h SUNRPC: Generalize the RPC buffer release API 2016-09-19 13:08:37 -04:00
stats.h
svc_rdma.h svcrdma: Renovate sendto chunk list parsing 2016-11-30 17:31:12 -05:00
svc_xprt.h SUNRPC: Remove unused callback xpo_adjust_wspace() 2016-07-13 15:53:50 -04:00
svc.h SUNRPC: Add a server side per-connection limit 2016-07-13 15:53:48 -04:00
svcauth_gss.h
svcauth.h vfs: make the string hashes salt the hash 2016-06-10 20:21:46 -07:00
svcsock.h
timer.h
types.h
xdr.h SUNRPC: Refactor rpc_xdr_buf_init() 2016-09-19 13:08:37 -04:00
xprt.h SUNRPC: Add a transport-specific private field in rpc_rqst 2016-09-19 13:08:37 -04:00
xprtmultipath.h SUNRPC search xprt switch for sockaddr 2016-09-19 13:08:36 -04:00
xprtrdma.h xprtrdma: Support larger inline thresholds 2016-09-19 13:08:38 -04:00
xprtsock.h SUNRPC: Small optimisation of client receive 2016-06-13 12:35:51 -04:00