summary refs log tree commit diff
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.gz
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