mbox series

[0/3] Optimize __ext4_block_zero_page_range() for unwritten buffers

Message ID cover.1695987265.git.ojaswin@linux.ibm.com
Headers show
Series Optimize __ext4_block_zero_page_range() for unwritten buffers | expand

Message

Ojaswin Mujoo Sept. 29, 2023, 2:10 p.m. UTC
As per discussion with Jan here [1], this patchset intends to exit early
from __ext4_block_zero_page_range() incase the block we are about to
zero (partially) is unwritten and unmapped, since such a block doesn't
require zeroing.

Further, also make sure that calls to ext4_zero_partial_blocks()
truncate the page cache completely beforehand, so that they don't rely
on ext4_zero_partial_block() -> __ext4_block_zero_page_range() to zero
out non block aligned edges of pagecache.

Reviews and comments are appreciated!

Regards,
ojaswin

[1]
https://lore.kernel.org/linux-ext4/20230914141920.lw2nlpzhcxwuz2y6@quack3/

Ojaswin Mujoo (3):
  ext4: treat end of range as exclusive in ext4_zero_range()
  ext4: truncate complete range in pagecache before calling
    ext4_zero_partial_blocks()
  ext4: Skip unwritten buffers in __ext4_block_zero_page_range()

 fs/ext4/extents.c | 20 +++++++++++++-------
 fs/ext4/inode.c   |  7 +++++--
 2 files changed, 18 insertions(+), 9 deletions(-)