Lines Matching defs:zc
1243 struct io_recvzc *zc = io_kiocb_to_cmd(req, struct io_recvzc);
1250 zc->ifq = xa_load(&req->ctx->zcrx_ctxs, ifq_idx);
1251 if (!zc->ifq)
1254 zc->len = READ_ONCE(sqe->len);
1255 zc->flags = READ_ONCE(sqe->ioprio);
1256 zc->msg_flags = READ_ONCE(sqe->msg_flags);
1257 if (zc->msg_flags)
1259 if (zc->flags & ~(IORING_RECVSEND_POLL_FIRST | IORING_RECV_MULTISHOT))
1262 if (!(zc->flags & IORING_RECV_MULTISHOT))
1272 struct io_recvzc *zc = io_kiocb_to_cmd(req, struct io_recvzc);
1278 (zc->flags & IORING_RECVSEND_POLL_FIRST))
1285 len = zc->len;
1286 ret = io_zcrx_recv(req, zc->ifq, sock, zc->msg_flags | MSG_DONTWAIT,
1287 issue_flags, &zc->len);
1288 if (len && zc->len == 0) {
1308 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg);
1313 if (zc->notif) {
1314 io_notif_flush(zc->notif);
1315 zc->notif = NULL;
1325 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg);
1331 zc->done_io = 0;
1339 notif = zc->notif = io_alloc_notif(ctx);
1347 zc->flags = READ_ONCE(sqe->ioprio);
1348 if (unlikely(zc->flags & ~IO_ZC_FLAGS_COMMON)) {
1349 if (zc->flags & ~IO_ZC_FLAGS_VALID)
1351 if (zc->flags & IORING_SEND_ZC_REPORT_USAGE) {
1360 zc->len = READ_ONCE(sqe->len);
1361 zc->msg_flags = READ_ONCE(sqe->msg_flags) | MSG_NOSIGNAL | MSG_ZEROCOPY;
1363 if (zc->msg_flags & MSG_DONTWAIT)
1367 zc->msg_flags |= MSG_CMSG_COMPAT;
1383 if (!(zc->flags & IORING_RECVSEND_FIXED_BUF)) {
1385 return io_notif_account_mem(zc->notif, iomsg->msg.msg_iter.count);
1456 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg);
1469 (zc->flags & IORING_RECVSEND_POLL_FIRST))
1479 msg_flags = zc->msg_flags;
1487 kmsg->msg.msg_ubuf = &io_notif_to_data(zc->notif)->uarg;
1495 zc->len -= ret;
1496 zc->buf += ret;
1497 zc->done_io += ret;
1506 ret += zc->done_io;
1507 else if (zc->done_io)
1508 ret = zc->done_io;
1515 io_notif_flush(zc->notif);
1516 zc->notif = NULL;