diff options
author | Anton Blanchard <anton@samba.org> | 2011-06-13 22:31:12 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-06-16 11:44:46 -0400 |
commit | 5e7f23373bf9a853e9256e81e86724cdd0a33c29 (patch) | |
tree | 4e49311429c995889853d0ec0f43a3023869c227 /fs/buffer.c | |
parent | 8aef18845266f5c05904c610088f2d1ed58f6be3 (diff) | |
download | linux-5e7f23373bf9a853e9256e81e86724cdd0a33c29.tar.bz2 |
afs: afs_fill_page reads too much, or wrong data
afs_fill_page should read the page that is about to be written but
the current implementation has a number of issues. If we aren't
extending the file we always read PAGE_CACHE_SIZE at offset 0. If we
are extending the file we try to read the entire file.
Change afs_fill_page to read PAGE_CACHE_SIZE at the right offset,
clamped to i_size.
While here, avoid calling afs_fill_page when we are doing a
PAGE_CACHE_SIZE write.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/buffer.c')
0 files changed, 0 insertions, 0 deletions