Lines Matching refs:ccb
50 static void nvme_sim_action(struct cam_sim *sim, union ccb *ccb);
66 union ccb *ccb = (union ccb *)ccb_arg; in nvme_sim_nvmeio_done() local
74 memcpy(&ccb->nvmeio.cpl, cpl, sizeof(*cpl)); in nvme_sim_nvmeio_done()
75 ccb->ccb_h.status &= ~CAM_SIM_QUEUED; in nvme_sim_nvmeio_done()
77 ccb->ccb_h.status = CAM_NVME_STATUS_ERROR; in nvme_sim_nvmeio_done()
78 xpt_done(ccb); in nvme_sim_nvmeio_done()
80 ccb->ccb_h.status = CAM_REQ_CMP; in nvme_sim_nvmeio_done()
81 xpt_done_direct(ccb); in nvme_sim_nvmeio_done()
86 nvme_sim_nvmeio(struct cam_sim *sim, union ccb *ccb) in nvme_sim_nvmeio() argument
88 struct ccb_nvmeio *nvmeio = &ccb->nvmeio; in nvme_sim_nvmeio()
100 nvme_sim_nvmeio_done, ccb); in nvme_sim_nvmeio()
102 req = nvme_allocate_request_ccb(ccb, nvme_sim_nvmeio_done, ccb); in nvme_sim_nvmeio()
104 req = nvme_allocate_request_null(nvme_sim_nvmeio_done, ccb); in nvme_sim_nvmeio()
107 nvme_sim_nvmeio_done, ccb); in nvme_sim_nvmeio()
111 xpt_done(ccb); in nvme_sim_nvmeio()
114 ccb->ccb_h.status |= CAM_SIM_QUEUED; in nvme_sim_nvmeio()
116 memcpy(&req->cmd, &ccb->nvmeio.cmd, sizeof(ccb->nvmeio.cmd)); in nvme_sim_nvmeio()
118 if (ccb->ccb_h.func_code == XPT_NVME_IO) in nvme_sim_nvmeio()
143 nvme_sim_action(struct cam_sim *sim, union ccb *ccb) in nvme_sim_action() argument
147 CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE, in nvme_sim_action()
149 ccb->ccb_h.func_code)); in nvme_sim_action()
153 switch (ccb->ccb_h.func_code) { in nvme_sim_action()
161 ccb->ccb_h.status = CAM_REQ_INVALID; in nvme_sim_action()
168 ccb->ccb_h.status = CAM_REQ_CMP; in nvme_sim_action()
172 struct ccb_pathinq *cpi = &ccb->cpi; in nvme_sim_action()
201 cpi->xport_specific.nvme.nsid = xpt_path_lun_id(ccb->ccb_h.path); in nvme_sim_action()
225 cts = &ccb->cts; in nvme_sim_action()
269 ccb->ccb_h.status = CAM_REQ_CMP; in nvme_sim_action()
274 ccb->ccb_h.status = CAM_DEV_NOT_THERE; in nvme_sim_action()
277 nvme_sim_nvmeio(sim, ccb); in nvme_sim_action()
280 ccb->ccb_h.status = CAM_REQ_INVALID; in nvme_sim_action()
283 xpt_done(ccb); in nvme_sim_action()
341 union ccb *ccb; in nvme_sim_ns_change() local
343 ccb = xpt_alloc_ccb_nowait(); in nvme_sim_ns_change()
344 if (ccb == NULL) { in nvme_sim_ns_change()
354 if (xpt_create_path(&ccb->ccb_h.path, /*periph*/NULL, in nvme_sim_ns_change()
357 xpt_free_ccb(ccb); in nvme_sim_ns_change()
360 xpt_rescan(ccb); in nvme_sim_ns_change()