[PATCH 6/8] ext4: make sure zero range WRITE_ZEROES uses NO_CONV_ACC flag

From: Ojaswin Mujoo

Date: Mon Nov 02 2026 - 13:46:19 EST


A zero range WRITE_ZEROES splits and converts an unwrit -> written extent
but it doesn't need any protection against the zeroout fallback in
ext4_split_extent_zeroout() because it's data is just zeroes anyways.

Hence, indicate to the zeroout code that the caller doesn't account for
itself in ei->i_conv_pending_ios.

Fixes: ea96cb5c4ae3 ("ext4: don't split extent before submitting I/O")
Signed-off-by: Ojaswin Mujoo <ojaswin@xxxxxxxxxxxxx>
---
fs/ext4/extents.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index e4e65f3f576d..d546001fedc6 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -4765,7 +4765,7 @@ static int ext4_alloc_file_blocks(struct file *file, loff_t offset, loff_t len,
ret = ext4_convert_unwritten_extents(handle,
inode, (loff_t)map.m_lblk << blkbits,
(loff_t)map.m_len << blkbits,
- &converted, 0);
+ &converted, EXT4_GET_BLOCKS_NO_CONV_ACC);
if (ret)
map.m_len = converted;


--
2.55.0