Lines Matching refs:head
521 static int qemu_rdma_exchange_send(RDMAContext *rdma, RDMAControlHeader *head,
1372 RDMAControlHeader head = { .len = sizeof(RDMARegister), in qemu_rdma_unregister_waiting() local
1417 ret = qemu_rdma_exchange_send(rdma, &head, (uint8_t *) ®, in qemu_rdma_unregister_waiting()
1699 RDMAControlHeader *head, in qemu_rdma_post_send_control() argument
1707 .length = head->len + sizeof(RDMAControlHeader), in qemu_rdma_post_send_control()
1718 trace_qemu_rdma_post_send_control(control_desc(head->type)); in qemu_rdma_post_send_control()
1728 assert(head->len <= RDMA_CONTROL_MAX_BUFFER - sizeof(*head)); in qemu_rdma_post_send_control()
1729 memcpy(wr->control, head, sizeof(RDMAControlHeader)); in qemu_rdma_post_send_control()
1733 memcpy(wr->control + sizeof(RDMAControlHeader), buf, head->len); in qemu_rdma_post_send_control()
1786 RDMAControlHeader *head, uint32_t expecting, int idx, in qemu_rdma_exchange_get_response() argument
1799 memcpy(head, rdma->wr_data[idx].control, sizeof(RDMAControlHeader)); in qemu_rdma_exchange_get_response()
1804 trace_qemu_rdma_exchange_get_response_none(control_desc(head->type), in qemu_rdma_exchange_get_response()
1805 head->type); in qemu_rdma_exchange_get_response()
1806 } else if (head->type != expecting || head->type == RDMA_CONTROL_ERROR) { in qemu_rdma_exchange_get_response()
1810 control_desc(head->type), head->type, head->len); in qemu_rdma_exchange_get_response()
1811 if (head->type == RDMA_CONTROL_ERROR) { in qemu_rdma_exchange_get_response()
1816 if (head->len > RDMA_CONTROL_MAX_BUFFER - sizeof(*head)) { in qemu_rdma_exchange_get_response()
1817 error_setg(errp, "too long length: %d", head->len); in qemu_rdma_exchange_get_response()
1820 if (sizeof(*head) + head->len != byte_len) { in qemu_rdma_exchange_get_response()
1822 head->len, byte_len); in qemu_rdma_exchange_get_response()
1838 RDMAControlHeader *head) in qemu_rdma_move_header() argument
1840 rdma->wr_data[idx].control_len = head->len; in qemu_rdma_move_header()
1858 static int qemu_rdma_exchange_send(RDMAContext *rdma, RDMAControlHeader *head, in qemu_rdma_exchange_send() argument
1903 ret = qemu_rdma_post_send_control(rdma, data, head, errp); in qemu_rdma_exchange_send()
1946 static int qemu_rdma_exchange_recv(RDMAContext *rdma, RDMAControlHeader *head, in qemu_rdma_exchange_recv() argument
1968 ret = qemu_rdma_exchange_get_response(rdma, head, in qemu_rdma_exchange_recv()
1975 qemu_rdma_move_header(rdma, RDMA_WRID_READY, head); in qemu_rdma_exchange_recv()
2008 RDMAControlHeader head = { .len = sizeof(RDMARegister), in qemu_rdma_write_one() local
2075 head.len = sizeof(comp); in qemu_rdma_write_one()
2076 head.type = RDMA_CONTROL_COMPRESS; in qemu_rdma_write_one()
2082 ret = qemu_rdma_exchange_send(rdma, &head, in qemu_rdma_write_one()
2119 ret = qemu_rdma_exchange_send(rdma, &head, (uint8_t *) ®, in qemu_rdma_write_one()
2353 RDMAControlHeader head = { .len = 0, in qemu_rdma_cleanup() local
2358 if (qemu_rdma_post_send_control(rdma, NULL, &head, &err) < 0) { in qemu_rdma_cleanup()
2787 RDMAControlHeader head = {}; in qio_channel_rdma_writev() local
2792 head.len = len; in qio_channel_rdma_writev()
2793 head.type = RDMA_CONTROL_QEMU_FILE; in qio_channel_rdma_writev()
2795 ret = qemu_rdma_exchange_send(rdma, &head, in qio_channel_rdma_writev()
2843 RDMAControlHeader head; in qio_channel_rdma_readv() local
2889 ret = qemu_rdma_exchange_recv(rdma, &head, RDMA_CONTROL_QEMU_FILE, in qio_channel_rdma_readv()
3527 RDMAControlHeader head; in rdma_registration_handle() local
3557 ret = qemu_rdma_exchange_recv(rdma, &head, RDMA_CONTROL_NONE, &err); in rdma_registration_handle()
3564 if (head.repeat > RDMA_CONTROL_MAX_COMMANDS_PER_MESSAGE) { in rdma_registration_handle()
3566 "Bailing.", head.repeat); in rdma_registration_handle()
3570 switch (head.type) { in rdma_registration_handle()
3663 trace_rdma_registration_handle_register(head.repeat); in rdma_registration_handle()
3665 reg_resp.repeat = head.repeat; in rdma_registration_handle()
3668 for (int count = 0; count < head.repeat; count++) { in rdma_registration_handle()
3739 trace_rdma_registration_handle_unregister(head.repeat); in rdma_registration_handle()
3740 unreg_resp.repeat = head.repeat; in rdma_registration_handle()
3743 for (int count = 0; count < head.repeat; count++) { in rdma_registration_handle()
3777 error_report("Unknown control message %s", control_desc(head.type)); in rdma_registration_handle()
3861 RDMAControlHeader head = { .len = 0, .repeat = 1 }; in rdma_registration_stop() local
3891 head.type = RDMA_CONTROL_RAM_BLOCKS_REQUEST; in rdma_registration_stop()
3902 ret = qemu_rdma_exchange_send(rdma, &head, NULL, &resp, in rdma_registration_stop()
3958 head.type = RDMA_CONTROL_REGISTER_FINISHED; in rdma_registration_stop()
3959 ret = qemu_rdma_exchange_send(rdma, &head, NULL, NULL, NULL, NULL, &err); in rdma_registration_stop()