Lines Matching refs:ipt
550 struct io_poll_table *ipt, __poll_t mask, in __io_arm_poll_handler() argument
558 ipt->pt._key = mask; in __io_arm_poll_handler()
559 ipt->req = req; in __io_arm_poll_handler()
560 ipt->error = 0; in __io_arm_poll_handler()
561 ipt->nr_entries = 0; in __io_arm_poll_handler()
573 ipt->owning = issue_flags & IO_URING_F_UNLOCKED; in __io_arm_poll_handler()
574 atomic_set(&req->poll_refs, (int)ipt->owning); in __io_arm_poll_handler()
586 mask = vfs_poll(req->file, &ipt->pt) & poll->events; in __io_arm_poll_handler()
588 if (unlikely(ipt->error || !ipt->nr_entries)) { in __io_arm_poll_handler()
591 if (!io_poll_can_finish_inline(req, ipt)) { in __io_arm_poll_handler()
595 ipt->result_mask = mask; in __io_arm_poll_handler()
598 return ipt->error ?: -EINVAL; in __io_arm_poll_handler()
603 if (!io_poll_can_finish_inline(req, ipt)) { in __io_arm_poll_handler()
608 ipt->result_mask = mask; in __io_arm_poll_handler()
616 io_poll_can_finish_inline(req, ipt)) { in __io_arm_poll_handler()
622 if (ipt->owning) { in __io_arm_poll_handler()
678 struct io_poll_table ipt; in io_arm_apoll() local
692 ipt.pt._qproc = io_async_queue_proc; in io_arm_apoll()
694 ret = __io_arm_poll_handler(req, &apoll->poll, &ipt, mask, issue_flags); in io_arm_apoll()
899 struct io_poll_table ipt; in io_poll_add() local
902 ipt.pt._qproc = io_poll_queue_proc; in io_poll_add()
904 ret = __io_arm_poll_handler(req, poll, &ipt, poll->events, issue_flags); in io_poll_add()
906 io_req_set_res(req, ipt.result_mask, 0); in io_poll_add()