splice: fix infinite loop in generic_file_splice_read()
BugLink: http://bugs.launchpad.net/bugs/790557
There's a quirky loop in generic_file_splice_read() that could go
on indefinitely, if the file splice returns 0 permanently (and not
just as a temporary condition). Get rid of the loop and pass
back -EAGAIN correctly from __generic_file_splice_read(), so we
handle that condition properly as well.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
(cherry picked from commit 8191ecd1d14c6914c660dfa007154860a7908857)