** Changes v1 -> v2 ** * Instead of exiting early in ext4_block_zero_page_range() for unwrit bhs like in v1, lets let the current logic be as it is and instead document the handing of unwritten buffer heads to make the intent clear v1: https://lore.kernel.org/linux-ext4/20231019165546.norapdphdyx7g3ob@quack3/T/#mbd0ab69d55487493edbd465b3882051e5bc2365d ** Original Cover Letter ** 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 (2): ext4: treat end of range as exclusive in ext4_zero_range() ext4: Clarify handling of unwritten bh in __ext4_block_zero_page_range() fs/ext4/extents.c | 6 ++++-- fs/ext4/inode.c | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) -- 2.39.3