summaryrefslogtreecommitdiffstats
path: root/fs/buffer.c
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2011-06-13 22:31:12 +0100
committerAl Viro <viro@zeniv.linux.org.uk>2011-06-16 11:44:46 -0400
commit5e7f23373bf9a853e9256e81e86724cdd0a33c29 (patch)
tree4e49311429c995889853d0ec0f43a3023869c227 /fs/buffer.c
parent8aef18845266f5c05904c610088f2d1ed58f6be3 (diff)
downloadlinux-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