hw/block/nvme: streamline namespace array indexing
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>
This commit is contained in:
parent
3ef73f9462
commit
72ea5c2c20
@ -4990,7 +4990,7 @@ static uint16_t nvme_ns_attachment(NvmeCtrl *n, NvmeRequest *req)
|
|||||||
return NVME_NS_NOT_ATTACHED | NVME_DNR;
|
return NVME_NS_NOT_ATTACHED | NVME_DNR;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctrl->namespaces[nsid - 1] = NULL;
|
ctrl->namespaces[nsid] = NULL;
|
||||||
ns->attached--;
|
ns->attached--;
|
||||||
|
|
||||||
nvme_update_dmrsl(ctrl);
|
nvme_update_dmrsl(ctrl);
|
||||||
@ -6163,7 +6163,7 @@ void nvme_attach_ns(NvmeCtrl *n, NvmeNamespace *ns)
|
|||||||
uint32_t nsid = ns->params.nsid;
|
uint32_t nsid = ns->params.nsid;
|
||||||
assert(nsid && nsid <= NVME_MAX_NAMESPACES);
|
assert(nsid && nsid <= NVME_MAX_NAMESPACES);
|
||||||
|
|
||||||
n->namespaces[nsid - 1] = ns;
|
n->namespaces[nsid] = ns;
|
||||||
ns->attached++;
|
ns->attached++;
|
||||||
|
|
||||||
n->dmrsl = MIN_NON_ZERO(n->dmrsl,
|
n->dmrsl = MIN_NON_ZERO(n->dmrsl,
|
||||||
|
@ -438,7 +438,7 @@ typedef struct NvmeCtrl {
|
|||||||
NvmeSubsystem *subsys;
|
NvmeSubsystem *subsys;
|
||||||
|
|
||||||
NvmeNamespace namespace;
|
NvmeNamespace namespace;
|
||||||
NvmeNamespace *namespaces[NVME_MAX_NAMESPACES];
|
NvmeNamespace *namespaces[NVME_MAX_NAMESPACES + 1];
|
||||||
NvmeSQueue **sq;
|
NvmeSQueue **sq;
|
||||||
NvmeCQueue **cq;
|
NvmeCQueue **cq;
|
||||||
NvmeSQueue admin_sq;
|
NvmeSQueue admin_sq;
|
||||||
@ -460,7 +460,7 @@ static inline NvmeNamespace *nvme_ns(NvmeCtrl *n, uint32_t nsid)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return n->namespaces[nsid - 1];
|
return n->namespaces[nsid];
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline NvmeCQueue *nvme_cq(NvmeRequest *req)
|
static inline NvmeCQueue *nvme_cq(NvmeRequest *req)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user