Re: [PATCH] ext4: fix an off-by-one issue during moving extents
From: Theodore Ts'o
Date: Fri Sep 26 2025 - 17:48:33 EST
On Fri, 12 Sep 2025 18:58:41 +0800, Zhang Yi wrote:
> During the movement of a written extent, mext_page_mkuptodate() is
> called to read data in the range [from, to) into the page cache and to
> update the corresponding buffers. Therefore, we should not wait on any
> buffer whose start offset is >= 'to'. Otherwise, it will return -EIO and
> fail the extents movement.
>
> $ for i in `seq 3 -1 0`; \
> do xfs_io -fs -c "pwrite -b 1024 $((i * 1024)) 1024" /mnt/foo; \
> done
> $ umount /mnt && mount /dev/pmem1s /mnt # drop cache
> $ e4defrag /mnt/foo
> e4defrag 1.47.0 (5-Feb-2023)
> ext4 defragmentation for /mnt/foo
> [1/1]/mnt/foo: 0% [ NG ]
> Success: [0/1]
>
> [...]
Applied, thanks!
[1/1] ext4: fix an off-by-one issue during moving extents
commit: 12e803c8827d049ae8f2c743ef66ab87ae898375
Best regards,
--
Theodore Ts'o <tytso@xxxxxxx>