[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 16/20] hw/block/nvme: streamline namespace array indexing
From: |
Klaus Jensen |
Subject: |
[PULL 16/20] hw/block/nvme: streamline namespace array indexing |
Date: |
Mon, 17 May 2021 11:17:33 +0200 |
From: Klaus Jensen <k.jensen@samsung.com>
Streamline namespace array indexing such that both the subsystem and
controller namespaces arrays are 1-indexed.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
---
hw/block/nvme.h | 4 ++--
hw/block/nvme.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/block/nvme.h b/hw/block/nvme.h
index 9349d1c33ad7..ac3f0a886735 100644
--- a/hw/block/nvme.h
+++ b/hw/block/nvme.h
@@ -438,7 +438,7 @@ typedef struct NvmeCtrl {
NvmeSubsystem *subsys;
NvmeNamespace namespace;
- NvmeNamespace *namespaces[NVME_MAX_NAMESPACES];
+ NvmeNamespace *namespaces[NVME_MAX_NAMESPACES + 1];
NvmeSQueue **sq;
NvmeCQueue **cq;
NvmeSQueue admin_sq;
@@ -460,7 +460,7 @@ static inline NvmeNamespace *nvme_ns(NvmeCtrl *n, uint32_t
nsid)
return NULL;
}
- return n->namespaces[nsid - 1];
+ return n->namespaces[nsid];
}
static inline NvmeCQueue *nvme_cq(NvmeRequest *req)
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index 1db9a603f5c4..baf7b6714544 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -4990,7 +4990,7 @@ static uint16_t nvme_ns_attachment(NvmeCtrl *n,
NvmeRequest *req)
return NVME_NS_NOT_ATTACHED | NVME_DNR;
}
- ctrl->namespaces[nsid - 1] = NULL;
+ ctrl->namespaces[nsid] = NULL;
ns->attached--;
nvme_update_dmrsl(ctrl);
@@ -6163,7 +6163,7 @@ void nvme_attach_ns(NvmeCtrl *n, NvmeNamespace *ns)
uint32_t nsid = ns->params.nsid;
assert(nsid && nsid <= NVME_MAX_NAMESPACES);
- n->namespaces[nsid - 1] = ns;
+ n->namespaces[nsid] = ns;
ns->attached++;
n->dmrsl = MIN_NON_ZERO(n->dmrsl,
--
2.31.1
- [PULL 06/20] hw/block/nvme: align with existing style, (continued)
- [PULL 06/20] hw/block/nvme: align with existing style, Klaus Jensen, 2021/05/17
- [PULL 07/20] hw/block/nvme: rename __nvme_zrm_open, Klaus Jensen, 2021/05/17
- [PULL 08/20] hw/block/nvme: rename __nvme_advance_zone_wp, Klaus Jensen, 2021/05/17
- [PULL 09/20] hw/block/nvme: rename __nvme_select_ns_iocs, Klaus Jensen, 2021/05/17
- [PULL 11/20] hw/block/nvme: cleanup includes, Klaus Jensen, 2021/05/17
- [PULL 12/20] hw/block/nvme: remove non-shared defines from header file, Klaus Jensen, 2021/05/17
- [PULL 10/20] hw/block/nvme: consolidate header files, Klaus Jensen, 2021/05/17
- [PULL 13/20] hw/block/nvme: replace nvme_ns_status, Klaus Jensen, 2021/05/17
- [PULL 15/20] hw/block/nvme: add metadata offset helper, Klaus Jensen, 2021/05/17
- [PULL 14/20] hw/block/nvme: cache lba and ms sizes, Klaus Jensen, 2021/05/17
- [PULL 16/20] hw/block/nvme: streamline namespace array indexing,
Klaus Jensen <=
- [PULL 17/20] hw/block/nvme: remove num_namespaces member, Klaus Jensen, 2021/05/17
- [PULL 18/20] hw/block/nvme: remove irrelevant zone resource checks, Klaus Jensen, 2021/05/17
- [PULL 19/20] hw/block/nvme: move zoned constraints checks, Klaus Jensen, 2021/05/17
- [PULL 20/20] hw/nvme: move nvme emulation out of hw/block, Klaus Jensen, 2021/05/17
- Re: [PULL 00/20] emulated nvme updates, Peter Maydell, 2021/05/18