kernel_optimize_test/fs/9p
Lukas Czerner d47992f86b mm: change invalidatepage prototype to accept length
Currently there is no way to truncate partial page where the end
truncate point is not at the end of the page. This is because it was not
needed and the functionality was enough for file system truncate
operation to work properly. However more file systems now support punch
hole feature and it can benefit from mm supporting truncating page just
up to the certain point.

Specifically, with this functionality truncate_inode_pages_range() can
be changed so it supports truncating partial page at the end of the
range (currently it will BUG_ON() if 'end' is not at the end of the
page).

This commit changes the invalidatepage() address space operation
prototype to accept range to be invalidated and update all the instances
for it.

We also change the block_invalidatepage() in the same way and actually
make a use of the new length argument implementing range invalidation.

Actual file system implementations will follow except the file systems
where the changes are really simple and should not change the behaviour
in any way .Implementation for truncate_page_range() which will be able
to accept page unaligned ranges will follow as well.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Hugh Dickins <hughd@google.com>
2013-05-21 23:17:23 -04:00
..
acl.c 9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate() 2013-02-26 02:46:07 -05:00
acl.h 9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate() 2013-02-26 02:46:07 -05:00
cache.c 9p: Reduce object size with CONFIG_NET_9P_DEBUG 2012-01-05 10:51:44 -06:00
cache.h fs/9p: When doing inode lookup compare qid details and inode mode bits. 2011-07-23 09:32:48 -05:00
fid.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-03-03 13:23:03 -08:00
fid.h 9p: v9fs_fid_add() can't fail now 2013-02-28 01:18:14 -05:00
Kconfig fs/9p: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
Makefile fs/9p: Move dotl inode operations into a seperate file 2011-01-11 09:58:07 -06:00
v9fs_vfs.h 9p: propagate umode_t 2012-01-03 22:55:01 -05:00
v9fs.c 9p: Modify struct v9fs_session_info to use a kuids and kgids 2013-02-12 03:19:33 -08:00
v9fs.h 9p: Modify struct v9fs_session_info to use a kuids and kgids 2013-02-12 03:19:33 -08:00
vfs_addr.c mm: change invalidatepage prototype to accept length 2013-05-21 23:17:23 -04:00
vfs_dentry.c v9fs: get rid of v9fs_dentry 2013-02-28 01:13:19 -05:00
vfs_dir.c locking in fs/9p ->readdir() 2013-02-10 16:29:33 -06:00
vfs_file.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
vfs_inode_dotl.c 9p: v9fs_fid_add() can't fail now 2013-02-28 01:18:14 -05:00
vfs_inode.c 9p: make sure ->lookup() adds fid to the right dentry 2013-02-28 01:29:48 -05:00
vfs_super.c fs: Limit sys_mount to only request filesystem modules. 2013-03-03 19:36:31 -08:00
xattr_user.c fs/9p: Add support user. xattr 2010-08-02 14:28:35 -05:00
xattr.c 9p: add fid-based variant of v9fs_xattr_set() 2013-02-26 02:46:05 -05:00
xattr.h 9p: add fid-based variant of v9fs_xattr_set() 2013-02-26 02:46:05 -05:00