splice: __generic_file_splice_read: fix i_size_read() length checks
commit475ecade683566b19ebb84972de864039ac5fce3
authorHugh Dickins <hugh@veritas.com>
Thu, 7 Jun 2007 07:36:00 +0000 (7 09:36 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Fri, 8 Jun 2007 06:34:05 +0000 (8 08:34 +0200)
treecd2043c6c951c440988be8057380dfaab1ceb481
parent20d698db67059a63d217030dfd02872cb5f88dfb
splice: __generic_file_splice_read: fix i_size_read() length checks

__generic_file_splice_read's partial page check, at eof after readpage,
not only got its calculations wrong, but also reused the loff variable:
causing data corruption when splicing from a non-0 offset in the file's
last page (revealed by ext2 -b 1024 testing on a loop of a tmpfs file).

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
fs/splice.c