[PATCH 1/2] xfs: hole-punch use truncate_pagecache_range
Hugh Dickins
hughd at google.com
Sun May 13 15:50:06 CDT 2012
When truncating a file, we unmap pages from userspace first, as that's
usually more efficient than relying, page by page, on the fallback in
truncate_inode_page() - particularly if the file is mapped many times.
Do the same when punching a hole: 3.4 added truncate_pagecache_range()
to do the unmap and trunc, so use it in xfs_flushinval_pages(), instead
of calling truncate_inode_pages_range() directly.
Should xfs_tosspages() be using it too? I don't know: left unchanged.
Signed-off-by: Hugh Dickins <hughd at google.com>
---
fs/xfs/xfs_fs_subr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- next-20120511/fs/xfs/xfs_fs_subr.c 2012-01-17 20:42:07.879627688 -0800
+++ linux/fs/xfs/xfs_fs_subr.c 2012-05-12 18:01:14.988654723 -0700
@@ -53,7 +53,7 @@ xfs_flushinval_pages(
ret = filemap_write_and_wait_range(mapping, first,
last == -1 ? LLONG_MAX : last);
if (!ret)
- truncate_inode_pages_range(mapping, first, last);
+ truncate_pagecache_range(VFS_I(ip), first, last);
return -ret;
}
More information about the xfs
mailing list