On Tue, 2018-12-04 at 14:24 -0500, Trond Myklebust wrote: > The RPC code is occasionally hanging when the receive code fails to > empty the socket buffer due to a partial read of the data. When we > convert that to an EAGAIN, it appears we occasionally leave data in > the > socket. The fix is to just keep reading until the socket returns > EAGAIN/EWOULDBLOCK. > > Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx> > Reported-by: Cristian Marussi <cristian.marussi@xxxxxxx> > Reported-by: Chuck Lever <chuck.lever@xxxxxxxxxx> > Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > --- Hi guys, I think I managed to reproduce the hangs that you were reporting by setting the r/wsize to 1024, and then running the xfstests generic/074 test. This patch (which should apply on top of the linux-next branch that I pointed you to previously) appears to fix the hang for that test case, so I'm hoping it will also fix the issues you reported. This patch can also be retrieved as part of the 'testing' branch ( https://git.linux-nfs.org/?p=trondmy/linux-nfs.git;a=shortlog;h=refs/heads/testing ) git pull git://git.linux-nfs.org/projects/trondmy/linux-nfs.git testing Cheers Trond -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx