The following series implements changes to the Linux NFS server's socket transport that are pre-requisite to supporting RPC on TLS. The socket transport is made to use the iov_iter-based kernel socket APIs. These changes are modeled after similar changes made to the NFS client-side socket transport. This is a draft patch series. I have tried it out and it is working, but as it has changed only the Reply-send side, it is incomplete. This posting is a request for comments -- show your work. One additional change I might make in this series is moving the xpt_mutex into the socket sendto methods. This is because the RDMA sendto method doesn't appear to require serialization. That is still down the road. --- Chuck Lever (3): SUNRPC: Move xs_stream_record_marker SUNRPC: Refactor xs_sendpages() SUNRPC: Teach server to use xprt_sock_sendmsg for socket sends include/linux/sunrpc/msg_prot.h | 13 ++ include/linux/sunrpc/svcauth.h | 1 include/linux/sunrpc/xdr.h | 14 --- net/sunrpc/socklib.c | 136 ++++++++++++++++++++++++++ net/sunrpc/socklib.h | 15 +++ net/sunrpc/sunrpc.h | 4 - net/sunrpc/svc.c | 4 - net/sunrpc/svcsock.c | 203 +++++++++++++-------------------------- net/sunrpc/xprtsock.c | 203 ++++++--------------------------------- 9 files changed, 261 insertions(+), 332 deletions(-) create mode 100644 net/sunrpc/socklib.h -- Chuck Lever