Hi, File types that implement read_iter/write_iter should check for IOCB_NOWAIT in conjunction with O_NONBLOCK, so it can correctly bail with -EAGAIN if we need to block for space/data. pipe doesn't currently do that, and that's the primary reason for why io_uring needs to use a slower path for it. Add the appropriate check, and expand the io_uring "understands nonblock" check so that we catch it. -- Jens Axboe