> On Wed, 09 Apr 2008 17:57:56 +0200
> Miklos Szeredi <miklos@szeredi.hu> wrote:
>
> > generic_file_splice_read() goes into an infinite loop if it races with
> > truncation. I've found this with fsx-linux on NFS over fuse.
> >
> > Perhaps the whole while() loop is bogus, but I can't tell from a
> > cursory glance at __generic_file_splice_read() if it will return zero
> > only on EOF, or it can do that for other reasons as well. In the
> > latter case the loop is obviously needed.
> >
> > This simplistic patch fixes the issue for me.
> >
>
> We found suspicious-looking code in generic_file_splice_read() back in
> February. See
http://lkml.org/lkml/2008/2/29/443. I suspect that patch
> (if it works) will address the truncate lockup as well - it zaps the loop
> entirely.
>
> Unfortunately Allard never got back to us (probably because he's running
> 2.6.24 which has a quite different generic_file_splice_read()) and the
> patch didn't get anywhere.