On Fri, May 01, 2020 at 01:11:09PM -0600, Jens Axboe wrote: > eventfd is using ->read() as it's file_operations read handler, but > this prevents passing in information about whether a given IO operation > is blocking or not. We can only use the file flags for that. To support > async (-EAGAIN/poll based) retries for io_uring, we need ->read_iter() > support. Convert eventfd to using ->read_iter(). > > With ->read_iter(), we can support IOCB_NOWAIT. Ensure the fd setup > is done such that we set file->f_mode with FMODE_NOWAIT.
Can you add a anon_inode_getfd_mode that passes extra flags for f_mode instead of opencoding it? Especially as I expect more users that might want to handle IOCB_NOWAIT.