diff options
| author | Doug Ledford <dledford@redhat.com> | 2015-10-28 22:23:34 -0400 |
|---|---|---|
| committer | Doug Ledford <dledford@redhat.com> | 2015-10-28 22:23:34 -0400 |
| commit | 63e8790d39a2d7c9a0ebeab987a6033d184bc6ba (patch) | |
| tree | 9436939401b222d344f66e2bda59b445d5b9189f /drivers/infiniband/ulp/isert | |
| parent | 95893dde99d9d14f8a6ac99ea3103792a8da5f25 (diff) | |
| parent | eb14ab3ba14081e403be93dc6396627567fadf60 (diff) | |
Merge branch 'wr-cleanup' into k.o/for-4.4
Diffstat (limited to 'drivers/infiniband/ulp/isert')
| -rw-r--r-- | drivers/infiniband/ulp/isert/ib_isert.c | 156 | ||||
| -rw-r--r-- | drivers/infiniband/ulp/isert/ib_isert.h | 6 |
2 files changed, 81 insertions, 81 deletions
diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c index 7d41c9d6d6bf..1b4d13d323b6 100644 --- a/drivers/infiniband/ulp/isert/ib_isert.c +++ b/drivers/infiniband/ulp/isert/ib_isert.c | |||
| @@ -1715,10 +1715,10 @@ isert_unmap_cmd(struct isert_cmd *isert_cmd, struct isert_conn *isert_conn) | |||
| 1715 | isert_unmap_data_buf(isert_conn, &wr->data); | 1715 | isert_unmap_data_buf(isert_conn, &wr->data); |
| 1716 | } | 1716 | } |
| 1717 | 1717 | ||
| 1718 | if (wr->send_wr) { | 1718 | if (wr->rdma_wr) { |
| 1719 | isert_dbg("Cmd %p free send_wr\n", isert_cmd); | 1719 | isert_dbg("Cmd %p free send_wr\n", isert_cmd); |
| 1720 | kfree(wr->send_wr); | 1720 | kfree(wr->rdma_wr); |
| 1721 | wr->send_wr = NULL; | 1721 | wr->rdma_wr = NULL; |
| 1722 | } | 1722 | } |
| 1723 | 1723 | ||
| 1724 | if (wr->ib_sge) { | 1724 | if (wr->ib_sge) { |
| @@ -1753,7 +1753,7 @@ isert_unreg_rdma(struct isert_cmd *isert_cmd, struct isert_conn *isert_conn) | |||
| 1753 | } | 1753 | } |
| 1754 | 1754 | ||
| 1755 | wr->ib_sge = NULL; | 1755 | wr->ib_sge = NULL; |
| 1756 | wr->send_wr = NULL; | 1756 | wr->rdma_wr = NULL; |
| 1757 | } | 1757 | } |
| 1758 | 1758 | ||
| 1759 | static void | 1759 | static void |
| @@ -1922,7 +1922,7 @@ isert_completion_rdma_write(struct iser_tx_desc *tx_desc, | |||
| 1922 | } | 1922 | } |
| 1923 | 1923 | ||
| 1924 | device->unreg_rdma_mem(isert_cmd, isert_conn); | 1924 | device->unreg_rdma_mem(isert_cmd, isert_conn); |
| 1925 | wr->send_wr_num = 0; | 1925 | wr->rdma_wr_num = 0; |
| 1926 | if (ret) | 1926 | if (ret) |
| 1927 | transport_send_check_condition_and_sense(se_cmd, | 1927 | transport_send_check_condition_and_sense(se_cmd, |
| 1928 | se_cmd->pi_err, 0); | 1928 | se_cmd->pi_err, 0); |
| @@ -1950,7 +1950,7 @@ isert_completion_rdma_read(struct iser_tx_desc *tx_desc, | |||
| 1950 | iscsit_stop_dataout_timer(cmd); | 1950 | iscsit_stop_dataout_timer(cmd); |
| 1951 | device->unreg_rdma_mem(isert_cmd, isert_conn); | 1951 | device->unreg_rdma_mem(isert_cmd, isert_conn); |
| 1952 | cmd->write_data_done = wr->data.len; | 1952 | cmd->write_data_done = wr->data.len; |
| 1953 | wr->send_wr_num = 0; | 1953 | wr->rdma_wr_num = 0; |
| 1954 | 1954 | ||
| 1955 | isert_dbg("Cmd: %p RDMA_READ comp calling execute_cmd\n", isert_cmd); | 1955 | isert_dbg("Cmd: %p RDMA_READ comp calling execute_cmd\n", isert_cmd); |
| 1956 | spin_lock_bh(&cmd->istate_lock); | 1956 | spin_lock_bh(&cmd->istate_lock); |
| @@ -2402,7 +2402,7 @@ isert_put_text_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn) | |||
| 2402 | 2402 | ||
| 2403 | static int | 2403 | static int |
| 2404 | isert_build_rdma_wr(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd, | 2404 | isert_build_rdma_wr(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd, |
| 2405 | struct ib_sge *ib_sge, struct ib_send_wr *send_wr, | 2405 | struct ib_sge *ib_sge, struct ib_rdma_wr *rdma_wr, |
| 2406 | u32 data_left, u32 offset) | 2406 | u32 data_left, u32 offset) |
| 2407 | { | 2407 | { |
| 2408 | struct iscsi_cmd *cmd = isert_cmd->iscsi_cmd; | 2408 | struct iscsi_cmd *cmd = isert_cmd->iscsi_cmd; |
| @@ -2417,8 +2417,8 @@ isert_build_rdma_wr(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd, | |||
| 2417 | sg_nents = min(cmd->se_cmd.t_data_nents - sg_off, isert_conn->max_sge); | 2417 | sg_nents = min(cmd->se_cmd.t_data_nents - sg_off, isert_conn->max_sge); |
| 2418 | page_off = offset % PAGE_SIZE; | 2418 | page_off = offset % PAGE_SIZE; |
| 2419 | 2419 | ||
| 2420 | send_wr->sg_list = ib_sge; | 2420 | rdma_wr->wr.sg_list = ib_sge; |
| 2421 | send_wr->wr_id = (uintptr_t)&isert_cmd->tx_desc; | 2421 | rdma_wr->wr.wr_id = (uintptr_t)&isert_cmd->tx_desc; |
| 2422 | /* | 2422 | /* |
| 2423 | * Perform mapping of TCM scatterlist memory ib_sge dma_addr. | 2423 | * Perform mapping of TCM scatterlist memory ib_sge dma_addr. |
| 2424 | */ | 2424 | */ |
| @@ -2443,11 +2443,11 @@ isert_build_rdma_wr(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd, | |||
| 2443 | isert_dbg("Incrementing ib_sge pointer to %p\n", ib_sge); | 2443 | isert_dbg("Incrementing ib_sge pointer to %p\n", ib_sge); |
| 2444 | } | 2444 | } |
| 2445 | 2445 | ||
| 2446 | send_wr->num_sge = ++i; | 2446 | rdma_wr->wr.num_sge = ++i; |
| 2447 | isert_dbg("Set outgoing sg_list: %p num_sg: %u from TCM SGLs\n", | 2447 | isert_dbg("Set outgoing sg_list: %p num_sg: %u from TCM SGLs\n", |
| 2448 | send_wr->sg_list, send_wr->num_sge); | 2448 | rdma_wr->wr.sg_list, rdma_wr->wr.num_sge); |
| 2449 | 2449 | ||
| 2450 | return send_wr->num_sge; | 2450 | return rdma_wr->wr.num_sge; |
| 2451 | } | 2451 | } |
| 2452 | 2452 | ||
| 2453 | static int | 2453 | static int |
| @@ -2458,7 +2458,7 @@ isert_map_rdma(struct iscsi_conn *conn, struct iscsi_cmd *cmd, | |||
| 2458 | struct isert_cmd *isert_cmd = iscsit_priv_cmd(cmd); | 2458 | struct isert_cmd *isert_cmd = iscsit_priv_cmd(cmd); |
| 2459 | struct isert_conn *isert_conn = conn->context; | 2459 | struct isert_conn *isert_conn = conn->context; |
| 2460 | struct isert_data_buf *data = &wr->data; | 2460 | struct isert_data_buf *data = &wr->data; |
| 2461 | struct ib_send_wr *send_wr; | 2461 | struct ib_rdma_wr *rdma_wr; |
| 2462 | struct ib_sge *ib_sge; | 2462 | struct ib_sge *ib_sge; |
| 2463 | u32 offset, data_len, data_left, rdma_write_max, va_offset = 0; | 2463 | u32 offset, data_len, data_left, rdma_write_max, va_offset = 0; |
| 2464 | int ret = 0, i, ib_sge_cnt; | 2464 | int ret = 0, i, ib_sge_cnt; |
| @@ -2483,11 +2483,11 @@ isert_map_rdma(struct iscsi_conn *conn, struct iscsi_cmd *cmd, | |||
| 2483 | } | 2483 | } |
| 2484 | wr->ib_sge = ib_sge; | 2484 | wr->ib_sge = ib_sge; |
| 2485 | 2485 | ||
| 2486 | wr->send_wr_num = DIV_ROUND_UP(data->nents, isert_conn->max_sge); | 2486 | wr->rdma_wr_num = DIV_ROUND_UP(data->nents, isert_conn->max_sge); |
| 2487 | wr->send_wr = kzalloc(sizeof(struct ib_send_wr) * wr->send_wr_num, | 2487 | wr->rdma_wr = kzalloc(sizeof(struct ib_rdma_wr) * wr->rdma_wr_num, |
| 2488 | GFP_KERNEL); | 2488 | GFP_KERNEL); |
| 2489 | if (!wr->send_wr) { | 2489 | if (!wr->rdma_wr) { |
| 2490 | isert_dbg("Unable to allocate wr->send_wr\n"); | 2490 | isert_dbg("Unable to allocate wr->rdma_wr\n"); |
| 2491 | ret = -ENOMEM; | 2491 | ret = -ENOMEM; |
| 2492 | goto unmap_cmd; | 2492 | goto unmap_cmd; |
| 2493 | } | 2493 | } |
| @@ -2495,31 +2495,31 @@ isert_map_rdma(struct iscsi_conn *conn, struct iscsi_cmd *cmd, | |||
| 2495 | wr->isert_cmd = isert_cmd; | 2495 | wr->isert_cmd = isert_cmd; |
| 2496 | rdma_write_max = isert_conn->max_sge * PAGE_SIZE; | 2496 | rdma_write_max = isert_conn->max_sge * PAGE_SIZE; |
| 2497 | 2497 | ||
| 2498 | for (i = 0; i < wr->send_wr_num; i++) { | 2498 | for (i = 0; i < wr->rdma_wr_num; i++) { |
| 2499 | send_wr = &isert_cmd->rdma_wr.send_wr[i]; | 2499 | rdma_wr = &isert_cmd->rdma_wr.rdma_wr[i]; |
| 2500 | data_len = min(data_left, rdma_write_max); | 2500 | data_len = min(data_left, rdma_write_max); |
| 2501 | 2501 | ||
| 2502 | send_wr->send_flags = 0; | 2502 | rdma_wr->wr.send_flags = 0; |
| 2503 | if (wr->iser_ib_op == ISER_IB_RDMA_WRITE) { | 2503 | if (wr->iser_ib_op == ISER_IB_RDMA_WRITE) { |
| 2504 | send_wr->opcode = IB_WR_RDMA_WRITE; | 2504 | rdma_wr->wr.opcode = IB_WR_RDMA_WRITE; |
| 2505 | send_wr->wr.rdma.remote_addr = isert_cmd->read_va + offset; | 2505 | rdma_wr->remote_addr = isert_cmd->read_va + offset; |
| 2506 | send_wr->wr.rdma.rkey = isert_cmd->read_stag; | 2506 | rdma_wr->rkey = isert_cmd->read_stag; |
| 2507 | if (i + 1 == wr->send_wr_num) | 2507 | if (i + 1 == wr->rdma_wr_num) |
| 2508 | send_wr->next = &isert_cmd->tx_desc.send_wr; | 2508 | rdma_wr->wr.next = &isert_cmd->tx_desc.send_wr; |
| 2509 | else | 2509 | else |
| 2510 | send_wr->next = &wr->send_wr[i + 1]; | 2510 | rdma_wr->wr.next = &wr->rdma_wr[i + 1].wr; |
| 2511 | } else { | 2511 | } else { |
| 2512 | send_wr->opcode = IB_WR_RDMA_READ; | 2512 | rdma_wr->wr.opcode = IB_WR_RDMA_READ; |
| 2513 | send_wr->wr.rdma.remote_addr = isert_cmd->write_va + va_offset; | 2513 | rdma_wr->remote_addr = isert_cmd->write_va + va_offset; |
| 2514 | send_wr->wr.rdma.rkey = isert_cmd->write_stag; | 2514 | rdma_wr->rkey = isert_cmd->write_stag; |
| 2515 | if (i + 1 == wr->send_wr_num) | 2515 | if (i + 1 == wr->rdma_wr_num) |
| 2516 | send_wr->send_flags = IB_SEND_SIGNALED; | 2516 | rdma_wr->wr.send_flags = IB_SEND_SIGNALED; |
| 2517 | else | 2517 | else |
| 2518 | send_wr->next = &wr->send_wr[i + 1]; | 2518 | rdma_wr->wr.next = &wr->rdma_wr[i + 1].wr; |
| 2519 | } | 2519 | } |
| 2520 | 2520 | ||
| 2521 | ib_sge_cnt = isert_build_rdma_wr(isert_conn, isert_cmd, ib_sge, | 2521 | ib_sge_cnt = isert_build_rdma_wr(isert_conn, isert_cmd, ib_sge, |
| 2522 | send_wr, data_len, offset); | 2522 | rdma_wr, data_len, offset); |
| 2523 | ib_sge += ib_sge_cnt; | 2523 | ib_sge += ib_sge_cnt; |
| 2524 | 2524 | ||
| 2525 | offset += data_len; | 2525 | offset += data_len; |
| @@ -2599,8 +2599,8 @@ isert_fast_reg_mr(struct isert_conn *isert_conn, | |||
| 2599 | struct ib_device *ib_dev = device->ib_device; | 2599 | struct ib_device *ib_dev = device->ib_device; |
| 2600 | struct ib_mr *mr; | 2600 | struct ib_mr *mr; |
| 2601 | struct ib_fast_reg_page_list *frpl; | 2601 | struct ib_fast_reg_page_list *frpl; |
| 2602 | struct ib_send_wr fr_wr, inv_wr; | 2602 | struct ib_fast_reg_wr fr_wr; |
| 2603 | struct ib_send_wr *bad_wr, *wr = NULL; | 2603 | struct ib_send_wr inv_wr, *bad_wr, *wr = NULL; |
| 2604 | int ret, pagelist_len; | 2604 | int ret, pagelist_len; |
| 2605 | u32 page_off; | 2605 | u32 page_off; |
| 2606 | 2606 | ||
| @@ -2638,20 +2638,20 @@ isert_fast_reg_mr(struct isert_conn *isert_conn, | |||
| 2638 | 2638 | ||
| 2639 | /* Prepare FASTREG WR */ | 2639 | /* Prepare FASTREG WR */ |
| 2640 | memset(&fr_wr, 0, sizeof(fr_wr)); | 2640 | memset(&fr_wr, 0, sizeof(fr_wr)); |
| 2641 | fr_wr.wr_id = ISER_FASTREG_LI_WRID; | 2641 | fr_wr.wr.wr_id = ISER_FASTREG_LI_WRID; |
| 2642 | fr_wr.opcode = IB_WR_FAST_REG_MR; | 2642 | fr_wr.wr.opcode = IB_WR_FAST_REG_MR; |
| 2643 | fr_wr.wr.fast_reg.iova_start = frpl->page_list[0] + page_off; | 2643 | fr_wr.iova_start = frpl->page_list[0] + page_off; |
| 2644 | fr_wr.wr.fast_reg.page_list = frpl; | 2644 | fr_wr.page_list = frpl; |
| 2645 | fr_wr.wr.fast_reg.page_list_len = pagelist_len; | 2645 | fr_wr.page_list_len = pagelist_len; |
| 2646 | fr_wr.wr.fast_reg.page_shift = PAGE_SHIFT; | 2646 | fr_wr.page_shift = PAGE_SHIFT; |
| 2647 | fr_wr.wr.fast_reg.length = mem->len; | 2647 | fr_wr.length = mem->len; |
| 2648 | fr_wr.wr.fast_reg.rkey = mr->rkey; | 2648 | fr_wr.rkey = mr->rkey; |
| 2649 | fr_wr.wr.fast_reg.access_flags = IB_ACCESS_LOCAL_WRITE; | 2649 | fr_wr.access_flags = IB_ACCESS_LOCAL_WRITE; |
| 2650 | 2650 | ||
| 2651 | if (!wr) | 2651 | if (!wr) |
| 2652 | wr = &fr_wr; | 2652 | wr = &fr_wr.wr; |
| 2653 | else | 2653 | else |
| 2654 | wr->next = &fr_wr; | 2654 | wr->next = &fr_wr.wr; |
| 2655 | 2655 | ||
| 2656 | ret = ib_post_send(isert_conn->qp, wr, &bad_wr); | 2656 | ret = ib_post_send(isert_conn->qp, wr, &bad_wr); |
| 2657 | if (ret) { | 2657 | if (ret) { |
| @@ -2732,8 +2732,8 @@ isert_reg_sig_mr(struct isert_conn *isert_conn, | |||
| 2732 | struct isert_rdma_wr *rdma_wr, | 2732 | struct isert_rdma_wr *rdma_wr, |
| 2733 | struct fast_reg_descriptor *fr_desc) | 2733 | struct fast_reg_descriptor *fr_desc) |
| 2734 | { | 2734 | { |
| 2735 | struct ib_send_wr sig_wr, inv_wr; | 2735 | struct ib_sig_handover_wr sig_wr; |
| 2736 | struct ib_send_wr *bad_wr, *wr = NULL; | 2736 | struct ib_send_wr inv_wr, *bad_wr, *wr = NULL; |
| 2737 | struct pi_context *pi_ctx = fr_desc->pi_ctx; | 2737 | struct pi_context *pi_ctx = fr_desc->pi_ctx; |
| 2738 | struct ib_sig_attrs sig_attrs; | 2738 | struct ib_sig_attrs sig_attrs; |
| 2739 | int ret; | 2739 | int ret; |
| @@ -2751,20 +2751,20 @@ isert_reg_sig_mr(struct isert_conn *isert_conn, | |||
| 2751 | } | 2751 | } |
| 2752 | 2752 | ||
| 2753 | memset(&sig_wr, 0, sizeof(sig_wr)); | 2753 | memset(&sig_wr, 0, sizeof(sig_wr)); |
| 2754 | sig_wr.opcode = IB_WR_REG_SIG_MR; | 2754 | sig_wr.wr.opcode = IB_WR_REG_SIG_MR; |
| 2755 | sig_wr.wr_id = ISER_FASTREG_LI_WRID; | 2755 | sig_wr.wr.wr_id = ISER_FASTREG_LI_WRID; |
| 2756 | sig_wr.sg_list = &rdma_wr->ib_sg[DATA]; | 2756 | sig_wr.wr.sg_list = &rdma_wr->ib_sg[DATA]; |
| 2757 | sig_wr.num_sge = 1; | 2757 | sig_wr.wr.num_sge = 1; |
| 2758 | sig_wr.wr.sig_handover.access_flags = IB_ACCESS_LOCAL_WRITE; | 2758 | sig_wr.access_flags = IB_ACCESS_LOCAL_WRITE; |
| 2759 | sig_wr.wr.sig_handover.sig_attrs = &sig_attrs; | 2759 | sig_wr.sig_attrs = &sig_attrs; |
| 2760 | sig_wr.wr.sig_handover.sig_mr = pi_ctx->sig_mr; | 2760 | sig_wr.sig_mr = pi_ctx->sig_mr; |
| 2761 | if (se_cmd->t_prot_sg) | 2761 | if (se_cmd->t_prot_sg) |
| 2762 | sig_wr.wr.sig_handover.prot = &rdma_wr->ib_sg[PROT]; | 2762 | sig_wr.prot = &rdma_wr->ib_sg[PROT]; |
| 2763 | 2763 | ||
| 2764 | if (!wr) | 2764 | if (!wr) |
| 2765 | wr = &sig_wr; | 2765 | wr = &sig_wr.wr; |
| 2766 | else | 2766 | else |
| 2767 | wr->next = &sig_wr; | 2767 | wr->next = &sig_wr.wr; |
| 2768 | 2768 | ||
| 2769 | ret = ib_post_send(isert_conn->qp, wr, &bad_wr); | 2769 | ret = ib_post_send(isert_conn->qp, wr, &bad_wr); |
| 2770 | if (ret) { | 2770 | if (ret) { |
| @@ -2858,7 +2858,7 @@ isert_reg_rdma(struct iscsi_conn *conn, struct iscsi_cmd *cmd, | |||
| 2858 | struct isert_cmd *isert_cmd = iscsit_priv_cmd(cmd); | 2858 | struct isert_cmd *isert_cmd = iscsit_priv_cmd(cmd); |
| 2859 | struct isert_conn *isert_conn = conn->context; | 2859 | struct isert_conn *isert_conn = conn->context; |
| 2860 | struct fast_reg_descriptor *fr_desc = NULL; | 2860 | struct fast_reg_descriptor *fr_desc = NULL; |
| 2861 | struct ib_send_wr *send_wr; | 2861 | struct ib_rdma_wr *rdma_wr; |
| 2862 | struct ib_sge *ib_sg; | 2862 | struct ib_sge *ib_sg; |
| 2863 | u32 offset; | 2863 | u32 offset; |
| 2864 | int ret = 0; | 2864 | int ret = 0; |
| @@ -2899,26 +2899,26 @@ isert_reg_rdma(struct iscsi_conn *conn, struct iscsi_cmd *cmd, | |||
| 2899 | 2899 | ||
| 2900 | memcpy(&wr->s_ib_sge, ib_sg, sizeof(*ib_sg)); | 2900 | memcpy(&wr->s_ib_sge, ib_sg, sizeof(*ib_sg)); |
| 2901 | wr->ib_sge = &wr->s_ib_sge; | 2901 | wr->ib_sge = &wr->s_ib_sge; |
| 2902 | wr->send_wr_num = 1; | 2902 | wr->rdma_wr_num = 1; |
| 2903 | memset(&wr->s_send_wr, 0, sizeof(*send_wr)); | 2903 | memset(&wr->s_rdma_wr, 0, sizeof(wr->s_rdma_wr)); |
| 2904 | wr->send_wr = &wr->s_send_wr; | 2904 | wr->rdma_wr = &wr->s_rdma_wr; |
| 2905 | wr->isert_cmd = isert_cmd; | 2905 | wr->isert_cmd = isert_cmd; |
| 2906 | 2906 | ||
| 2907 | send_wr = &isert_cmd->rdma_wr.s_send_wr; | 2907 | rdma_wr = &isert_cmd->rdma_wr.s_rdma_wr; |
| 2908 | send_wr->sg_list = &wr->s_ib_sge; | 2908 | rdma_wr->wr.sg_list = &wr->s_ib_sge; |
| 2909 | send_wr->num_sge = 1; | 2909 | rdma_wr->wr.num_sge = 1; |
| 2910 | send_wr->wr_id = (uintptr_t)&isert_cmd->tx_desc; | 2910 | rdma_wr->wr.wr_id = (uintptr_t)&isert_cmd->tx_desc; |
| 2911 | if (wr->iser_ib_op == ISER_IB_RDMA_WRITE) { | 2911 | if (wr->iser_ib_op == ISER_IB_RDMA_WRITE) { |
| 2912 | send_wr->opcode = IB_WR_RDMA_WRITE; | 2912 | rdma_wr->wr.opcode = IB_WR_RDMA_WRITE; |
| 2913 | send_wr->wr.rdma.remote_addr = isert_cmd->read_va; | 2913 | rdma_wr->remote_addr = isert_cmd->read_va; |
| 2914 | send_wr->wr.rdma.rkey = isert_cmd->read_stag; | 2914 | rdma_wr->rkey = isert_cmd->read_stag; |
| 2915 | send_wr->send_flags = !isert_prot_cmd(isert_conn, se_cmd) ? | 2915 | rdma_wr->wr.send_flags = !isert_prot_cmd(isert_conn, se_cmd) ? |
| 2916 | 0 : IB_SEND_SIGNALED; | 2916 | 0 : IB_SEND_SIGNALED; |
| 2917 | } else { | 2917 | } else { |
| 2918 | send_wr->opcode = IB_WR_RDMA_READ; | 2918 | rdma_wr->wr.opcode = IB_WR_RDMA_READ; |
| 2919 | send_wr->wr.rdma.remote_addr = isert_cmd->write_va; | 2919 | rdma_wr->remote_addr = isert_cmd->write_va; |
| 2920 | send_wr->wr.rdma.rkey = isert_cmd->write_stag; | 2920 | rdma_wr->rkey = isert_cmd->write_stag; |
| 2921 | send_wr->send_flags = IB_SEND_SIGNALED; | 2921 | rdma_wr->wr.send_flags = IB_SEND_SIGNALED; |
| 2922 | } | 2922 | } |
| 2923 | 2923 | ||
| 2924 | return 0; | 2924 | return 0; |
| @@ -2966,8 +2966,8 @@ isert_put_datain(struct iscsi_conn *conn, struct iscsi_cmd *cmd) | |||
| 2966 | isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); | 2966 | isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); |
| 2967 | isert_init_send_wr(isert_conn, isert_cmd, | 2967 | isert_init_send_wr(isert_conn, isert_cmd, |
| 2968 | &isert_cmd->tx_desc.send_wr); | 2968 | &isert_cmd->tx_desc.send_wr); |
| 2969 | isert_cmd->rdma_wr.s_send_wr.next = &isert_cmd->tx_desc.send_wr; | 2969 | isert_cmd->rdma_wr.s_rdma_wr.wr.next = &isert_cmd->tx_desc.send_wr; |
| 2970 | wr->send_wr_num += 1; | 2970 | wr->rdma_wr_num += 1; |
| 2971 | 2971 | ||
| 2972 | rc = isert_post_recv(isert_conn, isert_cmd->rx_desc); | 2972 | rc = isert_post_recv(isert_conn, isert_cmd->rx_desc); |
| 2973 | if (rc) { | 2973 | if (rc) { |
| @@ -2976,7 +2976,7 @@ isert_put_datain(struct iscsi_conn *conn, struct iscsi_cmd *cmd) | |||
| 2976 | } | 2976 | } |
| 2977 | } | 2977 | } |
| 2978 | 2978 | ||
| 2979 | rc = ib_post_send(isert_conn->qp, wr->send_wr, &wr_failed); | 2979 | rc = ib_post_send(isert_conn->qp, &wr->rdma_wr->wr, &wr_failed); |
| 2980 | if (rc) | 2980 | if (rc) |
| 2981 | isert_warn("ib_post_send() failed for IB_WR_RDMA_WRITE\n"); | 2981 | isert_warn("ib_post_send() failed for IB_WR_RDMA_WRITE\n"); |
| 2982 | 2982 | ||
| @@ -3010,7 +3010,7 @@ isert_get_dataout(struct iscsi_conn *conn, struct iscsi_cmd *cmd, bool recovery) | |||
| 3010 | return rc; | 3010 | return rc; |
| 3011 | } | 3011 | } |
| 3012 | 3012 | ||
| 3013 | rc = ib_post_send(isert_conn->qp, wr->send_wr, &wr_failed); | 3013 | rc = ib_post_send(isert_conn->qp, &wr->rdma_wr->wr, &wr_failed); |
| 3014 | if (rc) | 3014 | if (rc) |
| 3015 | isert_warn("ib_post_send() failed for IB_WR_RDMA_READ\n"); | 3015 | isert_warn("ib_post_send() failed for IB_WR_RDMA_READ\n"); |
| 3016 | 3016 | ||
diff --git a/drivers/infiniband/ulp/isert/ib_isert.h b/drivers/infiniband/ulp/isert/ib_isert.h index c5b99bcecbcf..360461819452 100644 --- a/drivers/infiniband/ulp/isert/ib_isert.h +++ b/drivers/infiniband/ulp/isert/ib_isert.h | |||
| @@ -117,9 +117,9 @@ struct isert_rdma_wr { | |||
| 117 | enum iser_ib_op_code iser_ib_op; | 117 | enum iser_ib_op_code iser_ib_op; |
| 118 | struct ib_sge *ib_sge; | 118 | struct ib_sge *ib_sge; |
| 119 | struct ib_sge s_ib_sge; | 119 | struct ib_sge s_ib_sge; |
| 120 | int send_wr_num; | 120 | int rdma_wr_num; |
| 121 | struct ib_send_wr *send_wr; | 121 | struct ib_rdma_wr *rdma_wr; |
| 122 | struct ib_send_wr s_send_wr; | 122 | struct ib_rdma_wr s_rdma_wr; |
| 123 | struct ib_sge ib_sg[3]; | 123 | struct ib_sge ib_sg[3]; |
| 124 | struct isert_data_buf data; | 124 | struct isert_data_buf data; |
| 125 | struct isert_data_buf prot; | 125 | struct isert_data_buf prot; |
