summary refs log tree commit diff
path: root/REPORTING-BUGS
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2008-07-04 09:35:17 +0200
committerJens Axboe <jens.axboe@oracle.com>2008-07-04 09:52:14 +0200
commit32502b8413a77b54b9e19809404109590c32dfb7 (patch)
treec84b87396be32d529b9902a7261b772b1d919e8b /REPORTING-BUGS
parent8b3d3567f72aa61d5d6f4ce89d289b154e1ea866 (diff)
downloadlinux-32502b8413a77b54b9e19809404109590c32dfb7.tar.gz
splice: fix generic_file_splice_read() race with page invalidation
If a page was invalidated during splicing from file to a pipe, then
generic_file_splice_read() could return a short or zero count.

This manifested itself in rare I/O errors seen on nfs exported fuse
filesystems.  This is because nfsd uses splice_direct_to_actor() to read
files, and fuse uses invalidate_inode_pages2() to invalidate stale data on
open.

Fix by redoing the page find/create if it was found to be truncated
(invalidated).

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'REPORTING-BUGS')
0 files changed, 0 insertions, 0 deletions