hw/block/nvme: refactor identify active namespace id list
Prepare to support inactive namespaces. Signed-off-by: Klaus Jensen <k.jensen@samsung.com> Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com> Reviewed-by: Keith Busch <kbusch@kernel.org>
This commit is contained in:
parent
d97eee64fe
commit
7c9c350c15
|
@ -1473,7 +1473,7 @@ static uint16_t nvme_identify_nslist(NvmeCtrl *n, NvmeRequest *req)
|
||||||
uint32_t min_nsid = le32_to_cpu(c->nsid);
|
uint32_t min_nsid = le32_to_cpu(c->nsid);
|
||||||
uint32_t *list;
|
uint32_t *list;
|
||||||
uint16_t ret;
|
uint16_t ret;
|
||||||
int i, j = 0;
|
int j = 0;
|
||||||
|
|
||||||
trace_pci_nvme_identify_nslist(min_nsid);
|
trace_pci_nvme_identify_nslist(min_nsid);
|
||||||
|
|
||||||
|
@ -1488,11 +1488,11 @@ static uint16_t nvme_identify_nslist(NvmeCtrl *n, NvmeRequest *req)
|
||||||
}
|
}
|
||||||
|
|
||||||
list = g_malloc0(data_len);
|
list = g_malloc0(data_len);
|
||||||
for (i = 0; i < n->num_namespaces; i++) {
|
for (int i = 1; i <= n->num_namespaces; i++) {
|
||||||
if (i < min_nsid) {
|
if (i <= min_nsid) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
list[j++] = cpu_to_le32(i + 1);
|
list[j++] = cpu_to_le32(i);
|
||||||
if (j == data_len / sizeof(uint32_t)) {
|
if (j == data_len / sizeof(uint32_t)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue