Lines Matching full:sel

505 				  struct io_br_sel *sel)  in io_send_finish()  argument
508 bool bundle_finished = sel->val <= 0; in io_send_finish()
512 cflags = io_put_kbuf(req, sel->val, sel->buf_list); in io_send_finish()
516 cflags = io_put_kbufs(req, sel->val, sel->buf_list, io_bundle_nbufs(kmsg, sel->val)); in io_send_finish()
525 if (io_req_post_cqe(req, sel->val, cflags | IORING_CQE_F_MORE)) { in io_send_finish()
532 io_req_set_res(req, sel->val, cflags); in io_send_finish()
533 sel->val = IOU_COMPLETE; in io_send_finish()
587 struct io_br_sel *sel, struct io_async_msghdr *kmsg) in io_send_select_buffer() argument
609 ret = io_buffers_select(req, &arg, sel, issue_flags); in io_send_select_buffer()
638 struct io_br_sel sel = { }; in io_send() local
657 sel.buf_list = NULL; in io_send()
659 ret = io_send_select_buffer(req, issue_flags, &sel, kmsg); in io_send()
683 return io_net_kbuf_recyle(req, sel.buf_list, kmsg, ret); in io_send()
694 sel.val = ret; in io_send()
695 if (!io_send_finish(req, kmsg, &sel)) in io_send()
699 return sel.val; in io_send()
840 struct io_br_sel *sel, bool mshot_finished, in io_recv_finish() argument
849 if (sel->val > 0 && sr->flags & IORING_RECV_MSHOT_LIM) { in io_recv_finish()
855 sr->mshot_total_len -= min_t(int, sel->val, sr->mshot_total_len); in io_recv_finish()
863 size_t this_ret = sel->val - sr->done_io; in io_recv_finish()
865 cflags |= io_put_kbufs(req, this_ret, sel->buf_list, io_bundle_nbufs(kmsg, this_ret)); in io_recv_finish()
868 if (sr->mshot_len && sel->val >= sr->mshot_len) in io_recv_finish()
887 cflags |= io_put_kbuf(req, sel->val, sel->buf_list); in io_recv_finish()
895 io_req_post_cqe(req, sel->val, cflags | IORING_CQE_F_MORE)) { in io_recv_finish()
896 sel->val = IOU_RETRY; in io_recv_finish()
908 sel->val = IOU_REQUEUE; in io_recv_finish()
915 io_req_set_res(req, sel->val, cflags); in io_recv_finish()
916 sel->val = IOU_COMPLETE; in io_recv_finish()
1009 struct io_br_sel sel = { }; in io_recvmsg() local
1029 sel.buf_list = NULL; in io_recvmsg()
1033 sel = io_buffer_select(req, &len, sr->buf_group, issue_flags); in io_recvmsg()
1034 if (!sel.addr) in io_recvmsg()
1038 ret = io_recvmsg_prep_multishot(kmsg, sr, &sel.addr, &len); in io_recvmsg()
1040 io_kbuf_recycle(req, sel.buf_list, issue_flags); in io_recvmsg()
1045 iov_iter_ubuf(&kmsg->msg.msg_iter, ITER_DEST, sel.addr, len); in io_recvmsg()
1064 io_kbuf_recycle(req, sel.buf_list, issue_flags); in io_recvmsg()
1069 return io_net_kbuf_recyle(req, sel.buf_list, kmsg, ret); in io_recvmsg()
1083 io_kbuf_recycle(req, sel.buf_list, issue_flags); in io_recvmsg()
1085 sel.val = ret; in io_recvmsg()
1086 if (!io_recv_finish(req, kmsg, &sel, mshot_finished, issue_flags)) in io_recvmsg()
1089 return sel.val; in io_recvmsg()
1093 struct io_br_sel *sel, unsigned int issue_flags) in io_recv_buf_select() argument
1118 if (sel->val) in io_recv_buf_select()
1119 arg.max_len = sel->val; in io_recv_buf_select()
1121 arg.max_len = min_not_zero(sel->val, (ssize_t) kmsg->msg.msg_inq); in io_recv_buf_select()
1126 ret = io_buffers_peek(req, &arg, sel); in io_recv_buf_select()
1147 size_t len = sel->val; in io_recv_buf_select()
1149 *sel = io_buffer_select(req, &len, sr->buf_group, issue_flags); in io_recv_buf_select()
1150 if (!sel->addr) in io_recv_buf_select()
1152 sr->buf = sel->addr; in io_recv_buf_select()
1168 struct io_br_sel sel; in io_recv() local
1188 sel.buf_list = NULL; in io_recv()
1190 sel.val = sr->len; in io_recv()
1191 ret = io_recv_buf_select(req, kmsg, &sel, issue_flags); in io_recv()
1208 io_kbuf_recycle(req, sel.buf_list, issue_flags); in io_recv()
1215 return io_net_kbuf_recyle(req, sel.buf_list, kmsg, ret); in io_recv()
1231 io_kbuf_recycle(req, sel.buf_list, issue_flags); in io_recv()
1233 sel.val = ret; in io_recv()
1234 if (!io_recv_finish(req, kmsg, &sel, mshot_finished, issue_flags)) in io_recv()
1237 return sel.val; in io_recv()