Lines Matching defs:zc
323 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg);
327 if (!zc->addr || req_has_async_data(req))
332 ret = move_addr_to_kernel(zc->addr, zc->addr_len, &io->addr);
1017 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg);
1026 if (zc->notif) {
1027 io_notif_flush(zc->notif);
1028 zc->notif = NULL;
1037 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg);
1047 notif = zc->notif = io_alloc_notif(ctx);
1055 zc->flags = READ_ONCE(sqe->ioprio);
1056 if (unlikely(zc->flags & ~IO_ZC_FLAGS_COMMON)) {
1057 if (zc->flags & ~IO_ZC_FLAGS_VALID)
1059 if (zc->flags & IORING_SEND_ZC_REPORT_USAGE) {
1065 if (zc->flags & IORING_RECVSEND_FIXED_BUF) {
1078 zc->addr = u64_to_user_ptr(READ_ONCE(sqe->addr2));
1079 zc->addr_len = READ_ONCE(sqe->addr_len);
1083 if (unlikely(zc->flags & IORING_RECVSEND_FIXED_BUF))
1087 zc->buf = u64_to_user_ptr(READ_ONCE(sqe->addr));
1088 zc->len = READ_ONCE(sqe->len);
1089 zc->msg_flags = READ_ONCE(sqe->msg_flags) | MSG_NOSIGNAL;
1090 if (zc->msg_flags & MSG_DONTWAIT)
1093 zc->done_io = 0;
1097 zc->msg_flags |= MSG_CMSG_COMPAT;
1163 struct io_sr_msg *zc = io_kiocb_to_cmd(req, struct io_sr_msg);
1180 if (zc->addr) {
1186 ret = move_addr_to_kernel(zc->addr, zc->addr_len, &__address);
1191 msg.msg_namelen = zc->addr_len;
1195 (zc->flags & IORING_RECVSEND_POLL_FIRST))
1198 if (zc->flags & IORING_RECVSEND_FIXED_BUF) {
1200 (u64)(uintptr_t)zc->buf, zc->len);
1205 io_notif_set_extended(zc->notif);
1206 ret = import_ubuf(ITER_SOURCE, zc->buf, zc->len, &msg.msg_iter);
1209 ret = io_notif_account_mem(zc->notif, zc->len);
1215 msg_flags = zc->msg_flags | MSG_ZEROCOPY;
1223 msg.msg_ubuf = &io_notif_to_data(zc->notif)->uarg;
1231 zc->len -= ret;
1232 zc->buf += ret;
1233 zc->done_io += ret;
1243 ret += zc->done_io;
1244 else if (zc->done_io)
1245 ret = zc->done_io;
1252 io_notif_flush(zc->notif);