https://bugzilla.kernel.org/show_bug.cgi?id=219504 --- Comment #2 from Mike-SPC (speedcracker@xxxxxxxxxxx) --- Hello Long Li, thanks for investigation. It seems, that the patch went into the kernel 6.1.113: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e3aa99b13a99405d935910306d1bbf419edfd679 It looks like this: --- snip --- diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index 98617f00101d68..1833608f39318e 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -990,7 +990,15 @@ static int iomap_write_delalloc_release(struct inode *inode, error = data_end; goto out_unlock; } - WARN_ON_ONCE(data_end <= start_byte); + + /* + * If we race with post-direct I/O invalidation of the page cache, + * there might be no data left at start_byte. + */ + if (data_end == start_byte) + continue; + + WARN_ON_ONCE(data_end < start_byte); WARN_ON_ONCE(data_end > scan_end_byte); error = iomap_write_delalloc_scan(inode, &punch_start_byte, --- snap --- Looks like your's: https://patchwork.kernel.org/project/xfs/patch/20231216115559.3823359-1-leo.lilong@xxxxxxxxxx/ Due to lack of time, I haven't gotten around to testing the latest kernel with this patch in it. Regards, Mike -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.