Loading net/sunrpc/xprtsock.c +8 −17 Original line number Diff line number Diff line Loading @@ -1287,25 +1287,12 @@ static inline void xs_tcp_read_common(struct rpc_xprt *xprt, } len = desc->count; if (len > transport->tcp_reclen - transport->tcp_offset) { struct xdr_skb_reader my_desc; len = transport->tcp_reclen - transport->tcp_offset; memcpy(&my_desc, desc, sizeof(my_desc)); my_desc.count = len; r = xdr_partial_copy_from_skb(rcvbuf, transport->tcp_copied, &my_desc, xdr_skb_read_bits); desc->count -= r; desc->offset += r; } else if (len > transport->tcp_reclen - transport->tcp_offset) desc->count = transport->tcp_reclen - transport->tcp_offset; r = xdr_partial_copy_from_skb(rcvbuf, transport->tcp_copied, desc, xdr_skb_read_bits); if (r > 0) { transport->tcp_copied += r; transport->tcp_offset += r; } if (r != len) { if (desc->count) { /* Error when copying to the receive buffer, * usually because we weren't able to allocate * additional buffer pages. All we can do now Loading @@ -1325,6 +1312,10 @@ static inline void xs_tcp_read_common(struct rpc_xprt *xprt, return; } transport->tcp_copied += r; transport->tcp_offset += r; desc->count = len - r; dprintk("RPC: XID %08x read %zd bytes\n", ntohl(transport->tcp_xid), r); dprintk("RPC: xprt = %p, tcp_copied = %lu, tcp_offset = %u, " Loading Loading
net/sunrpc/xprtsock.c +8 −17 Original line number Diff line number Diff line Loading @@ -1287,25 +1287,12 @@ static inline void xs_tcp_read_common(struct rpc_xprt *xprt, } len = desc->count; if (len > transport->tcp_reclen - transport->tcp_offset) { struct xdr_skb_reader my_desc; len = transport->tcp_reclen - transport->tcp_offset; memcpy(&my_desc, desc, sizeof(my_desc)); my_desc.count = len; r = xdr_partial_copy_from_skb(rcvbuf, transport->tcp_copied, &my_desc, xdr_skb_read_bits); desc->count -= r; desc->offset += r; } else if (len > transport->tcp_reclen - transport->tcp_offset) desc->count = transport->tcp_reclen - transport->tcp_offset; r = xdr_partial_copy_from_skb(rcvbuf, transport->tcp_copied, desc, xdr_skb_read_bits); if (r > 0) { transport->tcp_copied += r; transport->tcp_offset += r; } if (r != len) { if (desc->count) { /* Error when copying to the receive buffer, * usually because we weren't able to allocate * additional buffer pages. All we can do now Loading @@ -1325,6 +1312,10 @@ static inline void xs_tcp_read_common(struct rpc_xprt *xprt, return; } transport->tcp_copied += r; transport->tcp_offset += r; desc->count = len - r; dprintk("RPC: XID %08x read %zd bytes\n", ntohl(transport->tcp_xid), r); dprintk("RPC: xprt = %p, tcp_copied = %lu, tcp_offset = %u, " Loading