ioctx 659 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_ioctx *ioctx; ioctx 661 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx = kzalloc(ioctx_size, GFP_KERNEL); ioctx 662 drivers/infiniband/ulp/srpt/ib_srpt.c if (!ioctx) ioctx 665 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->buf = kmem_cache_alloc(buf_cache, GFP_KERNEL); ioctx 666 drivers/infiniband/ulp/srpt/ib_srpt.c if (!ioctx->buf) ioctx 669 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->dma = ib_dma_map_single(sdev->device, ioctx->buf, ioctx 671 drivers/infiniband/ulp/srpt/ib_srpt.c if (ib_dma_mapping_error(sdev->device, ioctx->dma)) ioctx 674 drivers/infiniband/ulp/srpt/ib_srpt.c return ioctx; ioctx 677 drivers/infiniband/ulp/srpt/ib_srpt.c kmem_cache_free(buf_cache, ioctx->buf); ioctx 679 drivers/infiniband/ulp/srpt/ib_srpt.c kfree(ioctx); ioctx 691 drivers/infiniband/ulp/srpt/ib_srpt.c static void srpt_free_ioctx(struct srpt_device *sdev, struct srpt_ioctx *ioctx, ioctx 695 drivers/infiniband/ulp/srpt/ib_srpt.c if (!ioctx) ioctx 698 drivers/infiniband/ulp/srpt/ib_srpt.c ib_dma_unmap_single(sdev->device, ioctx->dma, ioctx 700 drivers/infiniband/ulp/srpt/ib_srpt.c kmem_cache_free(buf_cache, ioctx->buf); ioctx 701 drivers/infiniband/ulp/srpt/ib_srpt.c kfree(ioctx); ioctx 778 drivers/infiniband/ulp/srpt/ib_srpt.c static enum srpt_command_state srpt_set_cmd_state(struct srpt_send_ioctx *ioctx, ioctx 783 drivers/infiniband/ulp/srpt/ib_srpt.c previous = ioctx->state; ioctx 785 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->state = new; ioctx 798 drivers/infiniband/ulp/srpt/ib_srpt.c static bool srpt_test_and_set_cmd_state(struct srpt_send_ioctx *ioctx, ioctx 804 drivers/infiniband/ulp/srpt/ib_srpt.c WARN_ON(!ioctx); ioctx 808 drivers/infiniband/ulp/srpt/ib_srpt.c previous = ioctx->state; ioctx 810 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->state = new; ioctx 822 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_recv_ioctx *ioctx) ioctx 828 drivers/infiniband/ulp/srpt/ib_srpt.c list.addr = ioctx->ioctx.dma + ioctx->ioctx.offset; ioctx 832 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->ioctx.cqe.done = srpt_recv_done; ioctx 833 drivers/infiniband/ulp/srpt/ib_srpt.c wr.wr_cqe = &ioctx->ioctx.cqe; ioctx 888 drivers/infiniband/ulp/srpt/ib_srpt.c static int srpt_alloc_rw_ctxs(struct srpt_send_ioctx *ioctx, ioctx 892 drivers/infiniband/ulp/srpt/ib_srpt.c enum dma_data_direction dir = target_reverse_dma_direction(&ioctx->cmd); ioctx 893 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_rdma_ch *ch = ioctx->ch; ioctx 899 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->rw_ctxs = &ioctx->s_rw_ctx; ioctx 901 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->rw_ctxs = kmalloc_array(nbufs, sizeof(*ioctx->rw_ctxs), ioctx 903 drivers/infiniband/ulp/srpt/ib_srpt.c if (!ioctx->rw_ctxs) ioctx 907 drivers/infiniband/ulp/srpt/ib_srpt.c for (i = ioctx->n_rw_ctx; i < nbufs; i++, db++) { ioctx 908 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_rw_ctx *ctx = &ioctx->rw_ctxs[i]; ioctx 925 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->n_rdma += ret; ioctx 926 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->n_rw_ctx++; ioctx 945 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_rw_ctx *ctx = &ioctx->rw_ctxs[i]; ioctx 951 drivers/infiniband/ulp/srpt/ib_srpt.c if (ioctx->rw_ctxs != &ioctx->s_rw_ctx) ioctx 952 drivers/infiniband/ulp/srpt/ib_srpt.c kfree(ioctx->rw_ctxs); ioctx 957 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx) ioctx 959 drivers/infiniband/ulp/srpt/ib_srpt.c enum dma_data_direction dir = target_reverse_dma_direction(&ioctx->cmd); ioctx 962 drivers/infiniband/ulp/srpt/ib_srpt.c for (i = 0; i < ioctx->n_rw_ctx; i++) { ioctx 963 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_rw_ctx *ctx = &ioctx->rw_ctxs[i]; ioctx 970 drivers/infiniband/ulp/srpt/ib_srpt.c if (ioctx->rw_ctxs != &ioctx->s_rw_ctx) ioctx 971 drivers/infiniband/ulp/srpt/ib_srpt.c kfree(ioctx->rw_ctxs); ioctx 1012 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx, ioctx 1035 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->cmd.data_direction = *dir; ioctx 1042 drivers/infiniband/ulp/srpt/ib_srpt.c return srpt_alloc_rw_ctxs(ioctx, db, 1, sg, sg_cnt); ioctx 1060 drivers/infiniband/ulp/srpt/ib_srpt.c return srpt_alloc_rw_ctxs(ioctx, idb->desc_list, nbufs, ioctx 1087 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->recv_ioctx = recv_ioctx; ioctx 1092 drivers/infiniband/ulp/srpt/ib_srpt.c sg_init_one(&ioctx->imm_sg, data, len); ioctx 1093 drivers/infiniband/ulp/srpt/ib_srpt.c *sg = &ioctx->imm_sg; ioctx 1219 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx; ioctx 1228 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx = ch->ioctx_ring[tag]; ioctx 1229 drivers/infiniband/ulp/srpt/ib_srpt.c BUG_ON(ioctx->ch != ch); ioctx 1230 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->state = SRPT_STATE_NEW; ioctx 1231 drivers/infiniband/ulp/srpt/ib_srpt.c WARN_ON_ONCE(ioctx->recv_ioctx); ioctx 1232 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->n_rdma = 0; ioctx 1233 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->n_rw_ctx = 0; ioctx 1234 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->queue_status_only = false; ioctx 1239 drivers/infiniband/ulp/srpt/ib_srpt.c memset(&ioctx->cmd, 0, sizeof(ioctx->cmd)); ioctx 1240 drivers/infiniband/ulp/srpt/ib_srpt.c memset(&ioctx->sense_data, 0, sizeof(ioctx->sense_data)); ioctx 1241 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->cmd.map_tag = tag; ioctx 1242 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->cmd.map_cpu = cpu; ioctx 1244 drivers/infiniband/ulp/srpt/ib_srpt.c return ioctx; ioctx 1251 drivers/infiniband/ulp/srpt/ib_srpt.c static int srpt_abort_cmd(struct srpt_send_ioctx *ioctx) ioctx 1255 drivers/infiniband/ulp/srpt/ib_srpt.c BUG_ON(!ioctx); ioctx 1262 drivers/infiniband/ulp/srpt/ib_srpt.c state = ioctx->state; ioctx 1265 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->state = SRPT_STATE_DATA_IN; ioctx 1269 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->state = SRPT_STATE_DONE; ioctx 1278 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->state, ioctx->cmd.tag); ioctx 1291 drivers/infiniband/ulp/srpt/ib_srpt.c pr_debug("tag %#llx: RDMA read error\n", ioctx->cmd.tag); ioctx 1292 drivers/infiniband/ulp/srpt/ib_srpt.c transport_generic_request_failure(&ioctx->cmd, ioctx 1300 drivers/infiniband/ulp/srpt/ib_srpt.c transport_generic_free_cmd(&ioctx->cmd, 0); ioctx 1303 drivers/infiniband/ulp/srpt/ib_srpt.c transport_generic_free_cmd(&ioctx->cmd, 0); ioctx 1326 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx = ioctx 1329 drivers/infiniband/ulp/srpt/ib_srpt.c WARN_ON(ioctx->n_rdma <= 0); ioctx 1330 drivers/infiniband/ulp/srpt/ib_srpt.c atomic_add(ioctx->n_rdma, &ch->sq_wr_avail); ioctx 1331 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->n_rdma = 0; ioctx 1335 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx, wc->status); ioctx 1336 drivers/infiniband/ulp/srpt/ib_srpt.c srpt_abort_cmd(ioctx); ioctx 1340 drivers/infiniband/ulp/srpt/ib_srpt.c if (srpt_test_and_set_cmd_state(ioctx, SRPT_STATE_NEED_DATA, ioctx 1342 drivers/infiniband/ulp/srpt/ib_srpt.c target_execute_cmd(&ioctx->cmd); ioctx 1345 drivers/infiniband/ulp/srpt/ib_srpt.c __LINE__, ioctx->state); ioctx 1364 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx, u64 tag, ioctx 1367 drivers/infiniband/ulp/srpt/ib_srpt.c struct se_cmd *cmd = &ioctx->cmd; ioctx 1379 drivers/infiniband/ulp/srpt/ib_srpt.c srp_rsp = ioctx->ioctx.buf; ioctx 1382 drivers/infiniband/ulp/srpt/ib_srpt.c sense_data = ioctx->sense_data; ioctx 1383 drivers/infiniband/ulp/srpt/ib_srpt.c sense_data_len = ioctx->cmd.scsi_sense_length; ioctx 1384 drivers/infiniband/ulp/srpt/ib_srpt.c WARN_ON(sense_data_len > sizeof(ioctx->sense_data)); ioctx 1446 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx, ioctx 1456 drivers/infiniband/ulp/srpt/ib_srpt.c srp_rsp = ioctx->ioctx.buf; ioctx 1474 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx = container_of(cmd, ioctx 1477 drivers/infiniband/ulp/srpt/ib_srpt.c return target_put_sess_cmd(&ioctx->cmd); ioctx 1500 drivers/infiniband/ulp/srpt/ib_srpt.c srp_cmd = recv_ioctx->ioctx.buf + recv_ioctx->ioctx.offset; ioctx 1587 drivers/infiniband/ulp/srpt/ib_srpt.c srp_tsk = recv_ioctx->ioctx.buf + recv_ioctx->ioctx.offset; ioctx 1628 drivers/infiniband/ulp/srpt/ib_srpt.c recv_ioctx->ioctx.dma, ioctx 1629 drivers/infiniband/ulp/srpt/ib_srpt.c recv_ioctx->ioctx.offset + srp_max_req_size, ioctx 1632 drivers/infiniband/ulp/srpt/ib_srpt.c srp_cmd = recv_ioctx->ioctx.buf + recv_ioctx->ioctx.offset; ioctx 1687 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_recv_ioctx *ioctx = ioctx 1688 drivers/infiniband/ulp/srpt/ib_srpt.c container_of(wc->wr_cqe, struct srpt_recv_ioctx, ioctx.cqe); ioctx 1696 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->byte_len = wc->byte_len; ioctx 1697 drivers/infiniband/ulp/srpt/ib_srpt.c srpt_handle_new_iu(ch, ioctx); ioctx 1700 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx, wc->status); ioctx 1748 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx = ioctx 1749 drivers/infiniband/ulp/srpt/ib_srpt.c container_of(wc->wr_cqe, struct srpt_send_ioctx, ioctx.cqe); ioctx 1752 drivers/infiniband/ulp/srpt/ib_srpt.c state = srpt_set_cmd_state(ioctx, SRPT_STATE_DONE); ioctx 1757 drivers/infiniband/ulp/srpt/ib_srpt.c atomic_add(1 + ioctx->n_rdma, &ch->sq_wr_avail); ioctx 1761 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx, wc->status); ioctx 1764 drivers/infiniband/ulp/srpt/ib_srpt.c transport_generic_free_cmd(&ioctx->cmd, 0); ioctx 1767 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->ioctx.index); ioctx 2726 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx = ioctx 2728 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_rdma_ch *ch = ioctx->ch; ioctx 2730 drivers/infiniband/ulp/srpt/ib_srpt.c struct ib_cqe *cqe = &ioctx->rdma_cqe; ioctx 2734 drivers/infiniband/ulp/srpt/ib_srpt.c if (ioctx->recv_ioctx) { ioctx 2735 drivers/infiniband/ulp/srpt/ib_srpt.c srpt_set_cmd_state(ioctx, SRPT_STATE_DATA_IN); ioctx 2736 drivers/infiniband/ulp/srpt/ib_srpt.c target_execute_cmd(&ioctx->cmd); ioctx 2740 drivers/infiniband/ulp/srpt/ib_srpt.c new_state = srpt_set_cmd_state(ioctx, SRPT_STATE_NEED_DATA); ioctx 2743 drivers/infiniband/ulp/srpt/ib_srpt.c if (atomic_sub_return(ioctx->n_rdma, &ch->sq_wr_avail) < 0) { ioctx 2745 drivers/infiniband/ulp/srpt/ib_srpt.c __func__, ioctx->n_rdma); ioctx 2751 drivers/infiniband/ulp/srpt/ib_srpt.c for (i = ioctx->n_rw_ctx - 1; i >= 0; i--) { ioctx 2752 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_rw_ctx *ctx = &ioctx->rw_ctxs[i]; ioctx 2762 drivers/infiniband/ulp/srpt/ib_srpt.c __func__, ret, ioctx->n_rdma, ioctx 2769 drivers/infiniband/ulp/srpt/ib_srpt.c atomic_add(ioctx->n_rdma, &ch->sq_wr_avail); ioctx 2793 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx = ioctx 2795 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_rdma_ch *ch = ioctx->ch; ioctx 2805 drivers/infiniband/ulp/srpt/ib_srpt.c state = ioctx->state; ioctx 2809 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->state = SRPT_STATE_CMD_RSP_SENT; ioctx 2812 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->state = SRPT_STATE_MGMT_RSP_SENT; ioctx 2816 drivers/infiniband/ulp/srpt/ib_srpt.c ch, ioctx->ioctx.index, ioctx->state); ioctx 2824 drivers/infiniband/ulp/srpt/ib_srpt.c if (ioctx->cmd.data_direction == DMA_FROM_DEVICE && ioctx 2825 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->cmd.data_length && ioctx 2826 drivers/infiniband/ulp/srpt/ib_srpt.c !ioctx->queue_status_only) { ioctx 2827 drivers/infiniband/ulp/srpt/ib_srpt.c for (i = ioctx->n_rw_ctx - 1; i >= 0; i--) { ioctx 2828 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_rw_ctx *ctx = &ioctx->rw_ctxs[i]; ioctx 2836 drivers/infiniband/ulp/srpt/ib_srpt.c resp_len = srpt_build_cmd_rsp(ch, ioctx, ioctx->cmd.tag, ioctx 2841 drivers/infiniband/ulp/srpt/ib_srpt.c resp_len = srpt_build_tskmgmt_rsp(ch, ioctx, srp_tm_status, ioctx 2842 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->cmd.tag); ioctx 2847 drivers/infiniband/ulp/srpt/ib_srpt.c if (unlikely(atomic_sub_return(1 + ioctx->n_rdma, ioctx 2850 drivers/infiniband/ulp/srpt/ib_srpt.c __func__, ioctx->n_rdma); ioctx 2855 drivers/infiniband/ulp/srpt/ib_srpt.c ib_dma_sync_single_for_device(sdev->device, ioctx->ioctx.dma, resp_len, ioctx 2858 drivers/infiniband/ulp/srpt/ib_srpt.c sge.addr = ioctx->ioctx.dma; ioctx 2862 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->ioctx.cqe.done = srpt_send_done; ioctx 2864 drivers/infiniband/ulp/srpt/ib_srpt.c send_wr.wr_cqe = &ioctx->ioctx.cqe; ioctx 2873 drivers/infiniband/ulp/srpt/ib_srpt.c __func__, ioctx->cmd.tag, ret); ioctx 2880 drivers/infiniband/ulp/srpt/ib_srpt.c atomic_add(1 + ioctx->n_rdma, &ch->sq_wr_avail); ioctx 2882 drivers/infiniband/ulp/srpt/ib_srpt.c srpt_set_cmd_state(ioctx, SRPT_STATE_DONE); ioctx 2883 drivers/infiniband/ulp/srpt/ib_srpt.c target_put_sess_cmd(&ioctx->cmd); ioctx 2905 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx = container_of(cmd, ioctx 2907 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_rdma_ch *ch = ioctx->ch; ioctx 2914 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx; ioctx 2916 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx = container_of(cmd, struct srpt_send_ioctx, cmd); ioctx 2917 drivers/infiniband/ulp/srpt/ib_srpt.c BUG_ON(ioctx->sense_data != cmd->sense_buffer); ioctx 2921 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->queue_status_only = true; ioctx 3307 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx = container_of(se_cmd, ioctx 3309 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_rdma_ch *ch = ioctx->ch; ioctx 3310 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_recv_ioctx *recv_ioctx = ioctx->recv_ioctx; ioctx 3312 drivers/infiniband/ulp/srpt/ib_srpt.c WARN_ON_ONCE(ioctx->state != SRPT_STATE_DONE && ioctx 3313 drivers/infiniband/ulp/srpt/ib_srpt.c !(ioctx->cmd.transport_state & CMD_T_ABORTED)); ioctx 3317 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->recv_ioctx = NULL; ioctx 3321 drivers/infiniband/ulp/srpt/ib_srpt.c if (ioctx->n_rw_ctx) { ioctx 3322 drivers/infiniband/ulp/srpt/ib_srpt.c srpt_free_rw_ctxs(ch, ioctx); ioctx 3323 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx->n_rw_ctx = 0; ioctx 3365 drivers/infiniband/ulp/srpt/ib_srpt.c struct srpt_send_ioctx *ioctx; ioctx 3367 drivers/infiniband/ulp/srpt/ib_srpt.c ioctx = container_of(se_cmd, struct srpt_send_ioctx, cmd); ioctx 3368 drivers/infiniband/ulp/srpt/ib_srpt.c return ioctx->state; ioctx 189 drivers/infiniband/ulp/srpt/ib_srpt.h struct srpt_ioctx ioctx; ioctx 219 drivers/infiniband/ulp/srpt/ib_srpt.h struct srpt_ioctx ioctx; ioctx 1315 fs/aio.c struct kioctx *ioctx = NULL; ioctx 1330 fs/aio.c ioctx = ioctx_alloc(nr_events); ioctx 1331 fs/aio.c ret = PTR_ERR(ioctx); ioctx 1332 fs/aio.c if (!IS_ERR(ioctx)) { ioctx 1333 fs/aio.c ret = put_user(ioctx->user_id, ctxp); ioctx 1335 fs/aio.c kill_ioctx(current->mm, ioctx, NULL); ioctx 1336 fs/aio.c percpu_ref_put(&ioctx->users); ioctx 1346 fs/aio.c struct kioctx *ioctx = NULL; ioctx 1361 fs/aio.c ioctx = ioctx_alloc(nr_events); ioctx 1362 fs/aio.c ret = PTR_ERR(ioctx); ioctx 1363 fs/aio.c if (!IS_ERR(ioctx)) { ioctx 1365 fs/aio.c ret = put_user((u32)ioctx->user_id, ctx32p); ioctx 1367 fs/aio.c kill_ioctx(current->mm, ioctx, NULL); ioctx 1368 fs/aio.c percpu_ref_put(&ioctx->users); ioctx 1384 fs/aio.c struct kioctx *ioctx = lookup_ioctx(ctx); ioctx 1385 fs/aio.c if (likely(NULL != ioctx)) { ioctx 1396 fs/aio.c ret = kill_ioctx(current->mm, ioctx, &wait); ioctx 1397 fs/aio.c percpu_ref_put(&ioctx->users); ioctx 2059 fs/aio.c struct kioctx *ioctx = lookup_ioctx(ctx_id); ioctx 2062 fs/aio.c if (likely(ioctx)) { ioctx 2064 fs/aio.c ret = read_events(ioctx, min_nr, nr, events, until); ioctx 2065 fs/aio.c percpu_ref_put(&ioctx->users);