Lines Matching full:zc

1197 	struct io_recvzc *zc = io_kiocb_to_cmd(req, struct io_recvzc);  in io_recvzc_prep()  local
1207 zc->ifq = req->ctx->ifq; in io_recvzc_prep()
1208 if (!zc->ifq) in io_recvzc_prep()
1210 zc->len = READ_ONCE(sqe->len); in io_recvzc_prep()
1211 zc->flags = READ_ONCE(sqe->ioprio); in io_recvzc_prep()
1212 zc->msg_flags = READ_ONCE(sqe->msg_flags); in io_recvzc_prep()
1213 if (zc->msg_flags) in io_recvzc_prep()
1215 if (zc->flags & ~(IORING_RECVSEND_POLL_FIRST | IORING_RECV_MULTISHOT)) in io_recvzc_prep()
1218 if (!(zc->flags & IORING_RECV_MULTISHOT)) in io_recvzc_prep()
1228 struct io_recvzc *zc = io_kiocb_to_cmd(req, struct io_recvzc); in io_recvzc() local
1234 (zc->flags & IORING_RECVSEND_POLL_FIRST)) in io_recvzc()
1241 len = zc->len; in io_recvzc()
1242 ret = io_zcrx_recv(req, zc->ifq, sock, zc->msg_flags | MSG_DONTWAIT, in io_recvzc()
1243 issue_flags, &zc->len); in io_recvzc()
1244 if (len && zc->len == 0) { in io_recvzc()
1264 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg); in io_send_zc_cleanup() local
1269 if (zc->notif) { in io_send_zc_cleanup()
1270 io_notif_flush(zc->notif); in io_send_zc_cleanup()
1271 zc->notif = NULL; in io_send_zc_cleanup()
1280 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg); in io_send_zc_prep() local
1286 zc->done_io = 0; in io_send_zc_prep()
1287 zc->retry = false; in io_send_zc_prep()
1295 notif = zc->notif = io_alloc_notif(ctx); in io_send_zc_prep()
1303 zc->flags = READ_ONCE(sqe->ioprio); in io_send_zc_prep()
1304 if (unlikely(zc->flags & ~IO_ZC_FLAGS_COMMON)) { in io_send_zc_prep()
1305 if (zc->flags & ~IO_ZC_FLAGS_VALID) in io_send_zc_prep()
1307 if (zc->flags & IORING_SEND_ZC_REPORT_USAGE) { in io_send_zc_prep()
1316 zc->len = READ_ONCE(sqe->len); in io_send_zc_prep()
1317 zc->msg_flags = READ_ONCE(sqe->msg_flags) | MSG_NOSIGNAL | MSG_ZEROCOPY; in io_send_zc_prep()
1319 if (zc->msg_flags & MSG_DONTWAIT) in io_send_zc_prep()
1323 zc->msg_flags |= MSG_CMSG_COMPAT; in io_send_zc_prep()
1330 if (zc->flags & IORING_RECVSEND_FIXED_BUF) in io_send_zc_prep()
1341 if (!(zc->flags & IORING_RECVSEND_FIXED_BUF)) { in io_send_zc_prep()
1343 return io_notif_account_mem(zc->notif, iomsg->msg.msg_iter.count); in io_send_zc_prep()
1414 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg); in io_send_zc() local
1427 (zc->flags & IORING_RECVSEND_POLL_FIRST)) in io_send_zc()
1437 msg_flags = zc->msg_flags; in io_send_zc()
1445 kmsg->msg.msg_ubuf = &io_notif_to_data(zc->notif)->uarg; in io_send_zc()
1453 zc->len -= ret; in io_send_zc()
1454 zc->buf += ret; in io_send_zc()
1455 zc->done_io += ret; in io_send_zc()
1465 ret += zc->done_io; in io_send_zc()
1466 else if (zc->done_io) in io_send_zc()
1467 ret = zc->done_io; in io_send_zc()
1474 io_notif_flush(zc->notif); in io_send_zc()
1475 zc->notif = NULL; in io_send_zc()