Hi, For v1, see: https://lore.kernel.org/linux-fsdevel/20210208221829.17247-1-axboe@xxxxxxxxx/ tldr; don't -EAGAIN IOCB_NOWAIT dio reads just because we have page cache entries for the given range. This causes unnecessary work from the callers side, when the IO could have been issued totally fine without blocking on writeback when there is none. fs/iomap/direct-io.c | 24 ++++++++++++++-------- include/linux/fs.h | 2 ++ mm/filemap.c | 47 ++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 63 insertions(+), 10 deletions(-) Andrew, any chance you can pick this up for 5.12? Since v2: - Drop overly long line (hch) - Rebase to master, iomap changed flags to iomap_flags -- Jens Axboe