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:
Klaus Jensen 2020-02-23 14:35:20 -08:00
parent d97eee64fe
commit 7c9c350c15
1 changed files with 4 additions and 4 deletions

View File

@ -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 *list;
uint16_t ret;
int i, j = 0;
int j = 0;
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);
for (i = 0; i < n->num_namespaces; i++) {
if (i < min_nsid) {
for (int i = 1; i <= n->num_namespaces; i++) {
if (i <= min_nsid) {
continue;
}
list[j++] = cpu_to_le32(i + 1);
list[j++] = cpu_to_le32(i);
if (j == data_len / sizeof(uint32_t)) {
break;
}