On Thu, May 16, 2024 at 07:16:51PM +0100, Matthew Wilcox (Oracle) wrote: > The current code iterates over the list of buffer_heads, finds the > !uptodate ones and reads them, waiting for each one before submitting > the next one. Instead, submit all the read requests before waiting > for each of the needed ones. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Hey Willy, This patch is causing ext4/020 (which tests the EXT4_IOC_MOVE_EXT ioctl used by e4defrag). This can be easily reproduced via: "kvm-xfstests -c ext4/4k ext4/020". From /results/ext4/results-4k/ext4/020.out.bad: QA output created by 020 wrote 1048576/1048576 bytes at offset 0 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 1023/1023 bytes at offset 0 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) md5sum: WARNING: 1 computed checksum did NOT match SCRATCH_MNT/020.orig: FAILED I'm going to drop both this patch and the preceeding patch in this series ("ext4: reduce stack usage in ext4_mpage_readpages()") pending further investigation. - Ted