Hi, io_uring's openat seems to produce FDs that are incompatible with large files (>2GB). If a file (smaller than 2GB) is opened using io_uring's openat then writes -- both using io_uring and just sync pwrite() -- past that threshold fail with EFBIG. If such a file is opened with sync openat, then both io_uring's writes and sync writes succeed. And if the file is larger than 2GB then io_uring's openat fails right away, while the sync one works. Kernel versions: 5.6.0-rc2, 5.6.0. A couple of reproducers attached, one demos successful open with failed writes afterwards, and another failing open (in comparison with sync calls). The output of the former one for example: *** sync openat openat succeeded sync write at offset 0 write succeeded sync write at offset 4294967296 write succeeded *** sync openat openat succeeded io_uring write at offset 0 write succeeded io_uring write at offset 4294967296 write succeeded *** io_uring openat openat succeeded sync write at offset 0 write succeeded sync write at offset 4294967296 write failed: File too large *** io_uring openat openat succeeded io_uring write at offset 0 write succeeded io_uring write at offset 4294967296 write failed: File too large -- Dmitry