On 6/23/22 3:34 AM, Pavel Begunkov wrote: > __io_arm_poll_handler() errors parsing is a horror, in case it failed it > returns 0 and the caller is expected to look at ipt.error, which already > led us to a number of problems before. > > When it returns a valid mask, leave it as it's not, i.e. return 1 and > store the mask in ipt.result_mask. In case of a failure that can be > handled inline return an error code (negative value), and return 0 if > __io_arm_poll_handler() took ownership of the request and will complete > it. Haven't looked at it yet, but this causes a consistent failure of one of the poll based test cases: axboe@m1pro-kvm ~/g/liburing (master)> test/poll-v-poll.t do_fd_test: res 2a/1 differ fd test IN failed -- Jens Axboe