Lines Matching refs:zc

1252 	struct io_recvzc *zc = io_kiocb_to_cmd(req, struct io_recvzc);  in io_recvzc_prep()  local
1259 zc->ifq = xa_load(&req->ctx->zcrx_ctxs, ifq_idx); in io_recvzc_prep()
1260 if (!zc->ifq) in io_recvzc_prep()
1263 zc->len = READ_ONCE(sqe->len); in io_recvzc_prep()
1264 zc->flags = READ_ONCE(sqe->ioprio); in io_recvzc_prep()
1267 if (zc->flags & ~(IORING_RECVSEND_POLL_FIRST | IORING_RECV_MULTISHOT)) in io_recvzc_prep()
1270 if (!(zc->flags & IORING_RECV_MULTISHOT)) in io_recvzc_prep()
1280 struct io_recvzc *zc = io_kiocb_to_cmd(req, struct io_recvzc); in io_recvzc() local
1286 (zc->flags & IORING_RECVSEND_POLL_FIRST)) in io_recvzc()
1293 len = zc->len; in io_recvzc()
1294 ret = io_zcrx_recv(req, zc->ifq, sock, 0, issue_flags, &zc->len); in io_recvzc()
1295 if (len && zc->len == 0) { in io_recvzc()
1315 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg); in io_send_zc_cleanup() local
1320 if (zc->notif) { in io_send_zc_cleanup()
1321 io_notif_flush(zc->notif); in io_send_zc_cleanup()
1322 zc->notif = NULL; in io_send_zc_cleanup()
1332 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg); in io_send_zc_prep() local
1338 zc->done_io = 0; in io_send_zc_prep()
1346 notif = zc->notif = io_alloc_notif(ctx); in io_send_zc_prep()
1354 zc->flags = READ_ONCE(sqe->ioprio); in io_send_zc_prep()
1355 if (unlikely(zc->flags & ~IO_ZC_FLAGS_COMMON)) { in io_send_zc_prep()
1356 if (zc->flags & ~IO_ZC_FLAGS_VALID) in io_send_zc_prep()
1358 if (zc->flags & IORING_SEND_ZC_REPORT_USAGE) { in io_send_zc_prep()
1367 zc->len = READ_ONCE(sqe->len); in io_send_zc_prep()
1368 zc->msg_flags = READ_ONCE(sqe->msg_flags) | MSG_NOSIGNAL | MSG_ZEROCOPY; in io_send_zc_prep()
1370 if (zc->msg_flags & MSG_DONTWAIT) in io_send_zc_prep()
1374 zc->msg_flags |= MSG_CMSG_COMPAT; in io_send_zc_prep()
1390 if (!(zc->flags & IORING_RECVSEND_FIXED_BUF)) { in io_send_zc_prep()
1392 return io_notif_account_mem(zc->notif, iomsg->msg.msg_iter.count); in io_send_zc_prep()
1463 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg); in io_send_zc() local
1476 (zc->flags & IORING_RECVSEND_POLL_FIRST)) in io_send_zc()
1486 msg_flags = zc->msg_flags; in io_send_zc()
1494 kmsg->msg.msg_ubuf = &io_notif_to_data(zc->notif)->uarg; in io_send_zc()
1502 zc->done_io += ret; in io_send_zc()
1511 ret += zc->done_io; in io_send_zc()
1512 else if (zc->done_io) in io_send_zc()
1513 ret = zc->done_io; in io_send_zc()
1520 io_notif_flush(zc->notif); in io_send_zc()
1521 zc->notif = NULL; in io_send_zc()