> On May 19, 2020, at 12:11 PM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote: > > I'm getting a repeatable timeout failure on python 4.0 test WRT15. In > pynfs, run: > > ./nfs4.0/testserver.py server:/export/path --rundeps --maketree WRT15 > > Looks like it sends WRITE+GETATTR(FATTR4_SIZE) compounds with write > offset 0 and write length taking on every value from 0 to 8192. > > Probably an xdr decoding bug of some kind? My first thought is to bisect, but I don't see a particular change in my v5.8 series that would plausibly introduce this class of problem. > I don't see anything in the server logs. > > --b. > > On Tue, May 12, 2020 at 05:22:04PM -0400, Chuck Lever wrote: >> Available to view: >> https://git.linux-nfs.org/?p=cel/cel-2.6.git;a=shortlog;h=refs/heads/nfsd-5.8 >> >> Pull from: >> git://git.linux-nfs.org/projects/cel/cel-2.6.git nfsd-5.8 >> >> Highlights of this series: >> * Remove serialization of sending RPC/RDMA Replies >> * Convert the TCP socket send path to use xdr_buf::bvecs (pre-requisite for RPC-on-TLS) >> * Fix svcrdma backchannel sendto return code >> * Convert a number of dprintk call sites to use tracepoints >> * Fix the "suggest braces around empty body in an ‘else’ statement" warning >> >> Changes since v1: >> * Rebased on v5.7-rc5+ >> * Re-organized the series so changes interesting to linux-rdma appear together >> * Addressed sparse warnings found by the kbuild test robot >> * Included an additional minor clean-up: removal of the unused SVCRDMA_DEBUG macro >> * Clarified several patch descriptions >> >> --- >> >> Chuck Lever (29): >> SUNRPC: Move xpt_mutex into socket xpo_sendto methods >> svcrdma: Clean up the tracing for rw_ctx_init errors >> svcrdma: Clean up handling of get_rw_ctx errors >> svcrdma: Trace page overruns when constructing RDMA Reads >> svcrdma: trace undersized Write chunks >> svcrdma: Fix backchannel return code >> svcrdma: Remove backchannel dprintk call sites >> svcrdma: Rename tracepoints that record header decoding errors >> svcrdma: Remove the SVCRDMA_DEBUG macro >> svcrdma: Displayed remote IP address should match stored address >> svcrdma: Add tracepoints to report ->xpo_accept failures >> SUNRPC: Remove kernel memory address from svc_xprt tracepoints >> SUNRPC: Tracepoint to record errors in svc_xpo_create() >> SUNRPC: Trace a few more generic svc_xprt events >> SUNRPC: Remove "#include <trace/events/skb.h>" >> SUNRPC: Add more svcsock tracepoints >> SUNRPC: Replace dprintk call sites in TCP state change callouts >> SUNRPC: Trace server-side rpcbind registration events >> SUNRPC: Rename svc_sock::sk_reclen >> SUNRPC: Restructure svc_tcp_recv_record() >> SUNRPC: Refactor svc_recvfrom() >> SUNRPC: Restructure svc_udp_recvfrom() >> SUNRPC: svc_show_status() macro should have enum definitions >> NFSD: Add tracepoints to NFSD's duplicate reply cache >> NFSD: Add tracepoints to the NFSD state management code >> NFSD: Add tracepoints for monitoring NFSD callbacks >> SUNRPC: Clean up request deferral tracepoints >> NFSD: Squash an annoying compiler warning >> NFSD: Fix improperly-formatted Doxygen comments >> >> >> fs/nfsd/nfs4callback.c | 37 +- >> fs/nfsd/nfs4proc.c | 7 +- >> fs/nfsd/nfs4state.c | 63 ++-- >> fs/nfsd/nfscache.c | 57 +-- >> fs/nfsd/nfsctl.c | 26 +- >> fs/nfsd/state.h | 7 - >> fs/nfsd/trace.h | 345 ++++++++++++++++++ >> include/linux/sunrpc/svc.h | 1 + >> include/linux/sunrpc/svc_rdma.h | 6 +- >> include/linux/sunrpc/svcsock.h | 6 +- >> include/trace/events/rpcrdma.h | 142 ++++++-- >> include/trace/events/sunrpc.h | 387 ++++++++++++++++++-- >> net/sunrpc/svc.c | 19 +- >> net/sunrpc/svc_xprt.c | 41 +-- >> net/sunrpc/svcsock.c | 393 ++++++++++----------- >> net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 86 +---- >> net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 21 +- >> net/sunrpc/xprtrdma/svc_rdma_rw.c | 92 ++--- >> net/sunrpc/xprtrdma/svc_rdma_transport.c | 55 ++- >> 19 files changed, 1221 insertions(+), 570 deletions(-) >> >> -- >> Chuck Lever -- Chuck Lever