nvmf_tgt: add support for remote invalidate.
Change-Id: I619421677ecc77c3b458c3b98fdc1cb27870a222 Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/421258 Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
7671073bed
commit
b4de8e1158
@ -1020,6 +1020,11 @@ spdk_nvmf_rdma_request_get_xfer(struct spdk_nvmf_rdma_request *rdma_req)
|
||||
struct spdk_nvme_cmd *cmd = &rdma_req->req.cmd->nvme_cmd;
|
||||
struct spdk_nvme_sgl_descriptor *sgl = &cmd->dptr.sgl1;
|
||||
|
||||
#ifdef SPDK_CONFIG_RDMA_SEND_WITH_INVAL
|
||||
rdma_req->rsp.wr.opcode = IBV_WR_SEND;
|
||||
rdma_req->rsp.wr.imm_data = 0;
|
||||
#endif
|
||||
|
||||
/* Figure out data transfer direction */
|
||||
if (cmd->opc == SPDK_NVME_OPC_FABRIC) {
|
||||
xfer = spdk_nvme_opc_get_data_transfer(rdma_req->req.cmd->nvmf_cmd.fctype);
|
||||
@ -1139,6 +1144,12 @@ spdk_nvmf_rdma_request_parse_sgl(struct spdk_nvmf_rdma_transport *rtransport,
|
||||
rsp->status.sc = SPDK_NVME_SC_DATA_SGL_LENGTH_INVALID;
|
||||
return -1;
|
||||
}
|
||||
#ifdef SPDK_CONFIG_RDMA_SEND_WITH_INVAL
|
||||
if (sgl->keyed.subtype == SPDK_NVME_SGL_SUBTYPE_INVALIDATE_KEY) {
|
||||
rdma_req->rsp.wr.opcode = IBV_WR_SEND_WITH_INV;
|
||||
rdma_req->rsp.wr.imm_data = sgl->keyed.key;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* fill request length and populate iovs */
|
||||
rdma_req->req.length = sgl->keyed.length;
|
||||
|
Loading…
Reference in New Issue
Block a user