splice: fix infinite loop in generic_file_splice_read()
authorJens Axboe <jens.axboe@oracle.com>
Thu, 10 Apr 2008 06:24:25 +0000 (08:24 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 10 Apr 2008 06:24:25 +0000 (08:24 +0200)
commit8191ecd1d14c6914c660dfa007154860a7908857
tree7a2c76742945e9659db502c16ed17d33a0644bfd
parentf4be31ec9690cfe6e94fcbed6ae60a6a38b3c3ed
splice: fix infinite loop in generic_file_splice_read()

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>
fs/splice.c