linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] xfs: hole-punch use truncate_pagecache_range
@ 2012-05-13 20:50 Hugh Dickins
  2012-05-13 20:51 ` [PATCH 2/2] xfs: hole-punch retaining cache beyond Hugh Dickins
  2012-05-15  6:57 ` [PATCH 1/2] xfs: hole-punch use truncate_pagecache_range Christoph Hellwig
  0 siblings, 2 replies; 4+ messages in thread
From: Hugh Dickins @ 2012-05-13 20:50 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Dave Chinner, Ben Myers, xfs, linux-fsdevel, linux-mm

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@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;
 }
 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-05-15  6:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-13 20:50 [PATCH 1/2] xfs: hole-punch use truncate_pagecache_range Hugh Dickins
2012-05-13 20:51 ` [PATCH 2/2] xfs: hole-punch retaining cache beyond Hugh Dickins
2012-05-15  6:58   ` Christoph Hellwig
2012-05-15  6:57 ` [PATCH 1/2] xfs: hole-punch use truncate_pagecache_range Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).