linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Add invalidatepage_range address space operation
@ 2012-07-27  8:00 Lukas Czerner
  2012-07-27  8:01 ` [PATCH 01/15] mm: add " Lukas Czerner
                   ` (15 more replies)
  0 siblings, 16 replies; 29+ messages in thread
From: Lukas Czerner @ 2012-07-27  8:00 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: linux-ext4, tytso, hughd, linux-mmc

This set of patches are aimed to allow truncate_inode_pages_range() handle
ranges which are not aligned at the end of the page. Currently it will
hit BUG_ON() when the end of the range is not aligned. Punch hole feature
however can benefit from this ability saving file systems some work not
forcing them to implement their own invalidate code to handle unaligned
ranges.

In order for this to work we need however new address space operation
invalidatepage_range which should be able to handle page invalidation with
offset and length specified.

patch 01:	Implements the new invalidatepage_range address space
		operation in the mm layer
patch 02 - 05:	Wire the new invalidatepage_range aop to the ext4, xfs and
		ocfs2 file system (which are currently the only file
		systems supporting punch hole) and implement this
		functionality for jbd2 as well.
patch 06:	Change truncate_inode_pages_range() to handle unaligned
		ranges.
patch 07 - 15:	Ext4 specific changes which take benefit from the
		previous truncate_inode_pages_range() change. Not all
		are realated specifically to this change, but all are
		related to the punch hole feature.

Thanks!
-Lukas


[PATCH 01/15] mm: add invalidatepage_range address space operation
[PATCH 02/15] jbd2: implement jbd2_journal_invalidatepage_range
[PATCH 03/15] ext4: implement invalidatepage_range aop
[PATCH 04/15] xfs: implement invalidatepage_range aop
[PATCH 05/15] ocfs2: implement invalidatepage_range aop
[PATCH 06/15] mm: teach truncate_inode_pages_range() to handle non
[PATCH 07/15] ext4: Take i_mutex before punching hole
[PATCH 08/15] Revert "ext4: remove no longer used functions in
[PATCH 09/15] Revert "ext4: fix fsx truncate failure"
[PATCH 10/15] ext4: use ext4_zero_partial_blocks in punch_hole
[PATCH 11/15] ext4: remove unused discard_partial_page_buffers
[PATCH 12/15] ext4: remove unused code from ext4_remove_blocks()
[PATCH 13/15] ext4: update ext4_ext_remove_space trace point
[PATCH 14/15] ext4: make punch hole code path work with bigalloc
[PATCH 15/15] ext4: Allow punch hole with bigalloc enabled


fs/buffer.c                 |   23 +++-
fs/ext4/ext4.h              |   14 +-
fs/ext4/extents.c           |  215 +++++++++++-------------------
fs/ext4/indirect.c          |   13 +--
fs/ext4/inode.c             |  316 +++++++++++++++++++------------------------
fs/jbd2/journal.c           |    1 +
fs/jbd2/transaction.c       |   20 +++-
fs/ocfs2/aops.c             |    7 +-
fs/xfs/xfs_aops.c           |   14 +-
fs/xfs/xfs_trace.h          |   41 ++++++-
include/linux/buffer_head.h |    2 +
include/linux/fs.h          |    2 +
include/linux/jbd2.h        |    2 +
include/linux/mm.h          |    2 +
include/trace/events/ext4.h |   55 +++++---
mm/truncate.c               |  107 +++++++++++-----
16 files changed, 437 insertions(+), 397 deletions(-)



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

end of thread, other threads:[~2012-08-21 18:59 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-27  8:00 Add invalidatepage_range address space operation Lukas Czerner
2012-07-27  8:01 ` [PATCH 01/15] mm: add " Lukas Czerner
2012-08-20  5:24   ` Hugh Dickins
     [not found]     ` <5033a999.0f403a0a.19c3.ffff95deSMTPIN_ADDED@mx.google.com>
2012-08-21 18:59       ` Hugh Dickins
2012-07-27  8:01 ` [PATCH 02/15] jbd2: implement jbd2_journal_invalidatepage_range Lukas Czerner
2012-07-27  8:01 ` [PATCH 03/15] ext4: implement invalidatepage_range aop Lukas Czerner
2012-07-27  8:01 ` [PATCH 04/15] xfs: " Lukas Czerner
2012-07-27  8:01 ` [PATCH 05/15] ocfs2: " Lukas Czerner
2012-07-27  8:01 ` [PATCH 06/15] mm: teach truncate_inode_pages_range() to handle non page aligned ranges Lukas Czerner
2012-08-20  4:52   ` Hugh Dickins
2012-08-20 10:26     ` Lukáš Czerner
2012-08-20 15:47       ` Hugh Dickins
     [not found]         ` <50339e0d.69b2340a.50ba.ffff92bcSMTPIN_ADDED@mx.google.com>
2012-08-21 18:44           ` Hugh Dickins
2012-08-20 15:53       ` Hugh Dickins
2012-07-27  8:01 ` [PATCH 07/15] ext4: Take i_mutex before punching hole Lukas Czerner
2012-07-27  9:04   ` Lukáš Czerner
2012-07-27 12:08     ` Zheng Liu
2012-08-20  5:45   ` Hugh Dickins
2012-07-27  8:01 ` [PATCH 08/15] Revert "ext4: remove no longer used functions in inode.c" Lukas Czerner
2012-07-27  8:01 ` [PATCH 09/15] Revert "ext4: fix fsx truncate failure" Lukas Czerner
2012-07-27  8:01 ` [PATCH 10/15] ext4: use ext4_zero_partial_blocks in punch_hole Lukas Czerner
2012-07-27  8:01 ` [PATCH 11/15] ext4: remove unused discard_partial_page_buffers Lukas Czerner
2012-07-27  8:01 ` [PATCH 12/15] ext4: remove unused code from ext4_remove_blocks() Lukas Czerner
2012-07-27  8:01 ` [PATCH 13/15] ext4: update ext4_ext_remove_space trace point Lukas Czerner
2012-07-27  8:01 ` [PATCH 14/15] ext4: make punch hole code path work with bigalloc Lukas Czerner
2012-07-27  8:01 ` [PATCH 15/15] ext4: Allow punch hole with bigalloc enabled Lukas Czerner
2012-08-19  0:57 ` Add invalidatepage_range address space operation Theodore Ts'o
2012-08-20  4:43   ` Hugh Dickins
2012-08-20 13:23     ` Theodore Ts'o

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).