[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 7/8] nvme: keep a copy of the NVMe command in reques
From: |
Klaus Birkelund Jensen |
Subject: |
[Qemu-devel] [PATCH 7/8] nvme: keep a copy of the NVMe command in request |
Date: |
Fri, 17 May 2019 10:42:33 +0200 |
Signed-off-by: Klaus Birkelund Jensen <address@hidden>
---
hw/block/nvme.c | 4 ++--
hw/block/nvme.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index 81201a8b4834..5cd593806701 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -184,7 +184,7 @@ static uint16_t nvme_map_prp(NvmeCtrl *n, QEMUSGList *qsg,
uint64_t prp1,
int num_prps = (len >> n->page_bits) + 1;
uint16_t status = NVME_SUCCESS;
- trace_nvme_map_prp(req->cmd_opcode, trans_len, len, prp1, prp2, num_prps);
+ trace_nvme_map_prp(req->cmd.opcode, trans_len, len, prp1, prp2, num_prps);
if (unlikely(!prp1)) {
trace_nvme_err_invalid_prp();
@@ -1559,7 +1559,7 @@ static void nvme_init_req(NvmeCtrl *n, NvmeCmd *cmd,
NvmeRequest *req)
memset(&req->cqe, 0, sizeof(req->cqe));
req->cqe.cid = le16_to_cpu(cmd->cid);
- req->cmd_opcode = cmd->opcode;
+ memcpy(&req->cmd, cmd, sizeof(NvmeCmd));
req->is_cmb = false;
req->status = NVME_SUCCESS;
diff --git a/hw/block/nvme.h b/hw/block/nvme.h
index 70f4781a1b61..7e1e026d90e6 100644
--- a/hw/block/nvme.h
+++ b/hw/block/nvme.h
@@ -52,7 +52,7 @@ typedef struct NvmeRequest {
uint16_t status;
bool is_cmb;
bool is_write;
- uint8_t cmd_opcode;
+ NvmeCmd cmd;
QTAILQ_HEAD(, NvmeBlockBackendRequest) blk_req_tailq;
QTAILQ_ENTRY(NvmeRequest)entry;
@@ -143,7 +143,7 @@ typedef struct NvmeCtrl {
static inline bool nvme_rw_is_write(NvmeRequest *req)
{
- return req->cmd_opcode == NVME_CMD_WRITE;
+ return req->cmd.opcode == NVME_CMD_WRITE;
}
static inline bool nvme_is_error(uint16_t status, uint16_t err)
--
2.21.0
- [Qemu-devel] [PATCH 0/8] nvme: v1.3, sgls, metadata and new 'ocssd' device, Klaus Birkelund Jensen, 2019/05/17
- [Qemu-devel] [PATCH 7/8] nvme: keep a copy of the NVMe command in request,
Klaus Birkelund Jensen <=
- [Qemu-devel] [PATCH 5/8] nvme: add support for metadata, Klaus Birkelund Jensen, 2019/05/17
- [Qemu-devel] [PATCH 1/8] nvme: move device parameters to separate struct, Klaus Birkelund Jensen, 2019/05/17
- [Qemu-devel] [PATCH 3/8] nvme: simplify PRP mappings, Klaus Birkelund Jensen, 2019/05/17
- [Qemu-devel] [PATCH 6/8] nvme: add support for scatter gather lists, Klaus Birkelund Jensen, 2019/05/17
- [Qemu-devel] [PATCH 4/8] nvme: allow multiple i/o's per request, Klaus Birkelund Jensen, 2019/05/17
- [Qemu-devel] [PATCH 2/8] nvme: bump supported spec to 1.3, Klaus Birkelund Jensen, 2019/05/17
- [Qemu-devel] [PATCH 8/8] nvme: add an OpenChannel 2.0 NVMe device (ocssd), Klaus Birkelund Jensen, 2019/05/17