[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 04/16] hw/block/nvme: remove redundant has_sg member
From: |
Klaus Jensen |
Subject: |
[PATCH v2 04/16] hw/block/nvme: remove redundant has_sg member |
Date: |
Thu, 30 Jul 2020 00:06:26 +0200 |
From: Klaus Jensen <k.jensen@samsung.com>
Remove the has_sg member from NvmeRequest since it's redundant.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
---
hw/block/nvme.c | 7 ++-----
hw/block/nvme.h | 1 -
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index d60b19e1840f..a9d9a2912655 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -550,7 +550,8 @@ static void nvme_rw_cb(void *opaque, int ret)
block_acct_failed(blk_get_stats(n->conf.blk), &req->acct);
req->status = NVME_INTERNAL_DEV_ERROR;
}
- if (req->has_sg) {
+
+ if (req->qsg.nalloc) {
qemu_sglist_destroy(&req->qsg);
}
nvme_enqueue_req_completion(cq, req);
@@ -559,7 +560,6 @@ static void nvme_rw_cb(void *opaque, int ret)
static uint16_t nvme_flush(NvmeCtrl *n, NvmeNamespace *ns, NvmeCmd *cmd,
NvmeRequest *req)
{
- req->has_sg = false;
block_acct_start(blk_get_stats(n->conf.blk), &req->acct, 0,
BLOCK_ACCT_FLUSH);
req->aiocb = blk_aio_flush(n->conf.blk, nvme_rw_cb, req);
@@ -585,7 +585,6 @@ static uint16_t nvme_write_zeros(NvmeCtrl *n, NvmeNamespace
*ns, NvmeCmd *cmd,
return NVME_LBA_RANGE | NVME_DNR;
}
- req->has_sg = false;
block_acct_start(blk_get_stats(n->conf.blk), &req->acct, 0,
BLOCK_ACCT_WRITE);
req->aiocb = blk_aio_pwrite_zeroes(n->conf.blk, offset, count,
@@ -623,7 +622,6 @@ static uint16_t nvme_rw(NvmeCtrl *n, NvmeNamespace *ns,
NvmeCmd *cmd,
}
if (req->qsg.nsg > 0) {
- req->has_sg = true;
block_acct_start(blk_get_stats(n->conf.blk), &req->acct, req->qsg.size,
acct);
req->aiocb = is_write ?
@@ -632,7 +630,6 @@ static uint16_t nvme_rw(NvmeCtrl *n, NvmeNamespace *ns,
NvmeCmd *cmd,
dma_blk_read(n->conf.blk, &req->qsg, data_offset, BDRV_SECTOR_SIZE,
nvme_rw_cb, req);
} else {
- req->has_sg = false;
block_acct_start(blk_get_stats(n->conf.blk), &req->acct, req->iov.size,
acct);
req->aiocb = is_write ?
diff --git a/hw/block/nvme.h b/hw/block/nvme.h
index 0b6a8ae66559..5519b5cc7686 100644
--- a/hw/block/nvme.h
+++ b/hw/block/nvme.h
@@ -22,7 +22,6 @@ typedef struct NvmeRequest {
struct NvmeSQueue *sq;
BlockAIOCB *aiocb;
uint16_t status;
- bool has_sg;
NvmeCqe cqe;
BlockAcctCookie acct;
QEMUSGList qsg;
--
2.27.0
- [PATCH v2 05/16] hw/block/nvme: destroy request iov before reuse, (continued)
- [PATCH v2 05/16] hw/block/nvme: destroy request iov before reuse, Klaus Jensen, 2020/07/29
- [PATCH v2 03/16] hw/block/nvme: replace dma_acct with blk_acct equivalent, Klaus Jensen, 2020/07/29
- [PATCH v2 08/16] hw/block/nvme: add request mapping helper, Klaus Jensen, 2020/07/29
- [PATCH v2 10/16] hw/block/nvme: refactor request bounds checking, Klaus Jensen, 2020/07/29
- [PATCH v2 07/16] hw/block/nvme: add tracing to nvme_map_prp, Klaus Jensen, 2020/07/29
- [PATCH v2 04/16] hw/block/nvme: remove redundant has_sg member,
Klaus Jensen <=
- [PATCH v2 06/16] hw/block/nvme: refactor dma read/write, Klaus Jensen, 2020/07/29
- [PATCH v2 09/16] hw/block/nvme: verify validity of prp lists in the cmb, Klaus Jensen, 2020/07/29
- [PATCH v2 12/16] hw/block/nvme: be consistent about zeros vs zeroes, Klaus Jensen, 2020/07/29
- [PATCH v2 11/16] hw/block/nvme: add check for mdts, Klaus Jensen, 2020/07/29
- [PATCH v2 15/16] hw/block/nvme: use preallocated qsg/iov in nvme_dma_prp, Klaus Jensen, 2020/07/29
- [PATCH v2 13/16] hw/block/nvme: add ns/cmd references in NvmeRequest, Klaus Jensen, 2020/07/29
- [PATCH v2 16/16] hw/block/nvme: remove explicit qsg/iov parameters, Klaus Jensen, 2020/07/29