[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 9/9] hw/block/nvme: report actual LBA data shift in LBAF
From: |
Keith Busch |
Subject: |
[PATCH 9/9] hw/block/nvme: report actual LBA data shift in LBAF |
Date: |
Wed, 30 Sep 2020 15:04:14 -0700 |
From: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Calculate the data shift value to report based on the set value of
logical_block_size device property.
In the process, use a local variable to calculate the LBA format
index instead of the hardcoded value 0. This makes the code more
readable and it will make it easier to add support for multiple LBA
formats in the future.
Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
---
hw/block/nvme-ns.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hw/block/nvme-ns.c b/hw/block/nvme-ns.c
index 2ba0263dda..a85e5fdb42 100644
--- a/hw/block/nvme-ns.c
+++ b/hw/block/nvme-ns.c
@@ -47,6 +47,8 @@ static void nvme_ns_init(NvmeNamespace *ns)
static int nvme_ns_init_blk(NvmeCtrl *n, NvmeNamespace *ns, Error **errp)
{
+ int lba_index;
+
if (!blkconf_blocksizes(&ns->blkconf, errp)) {
return -1;
}
@@ -67,6 +69,9 @@ static int nvme_ns_init_blk(NvmeCtrl *n, NvmeNamespace *ns,
Error **errp)
n->features.vwc = 0x1;
}
+ lba_index = NVME_ID_NS_FLBAS_INDEX(ns->id_ns.flbas);
+ ns->id_ns.lbaf[lba_index].ds = 31 - clz32(ns->blkconf.logical_block_size);
+
return 0;
}
--
2.24.1
- [PATCH 3/9] hw/block/nvme: support per-namespace smart log, (continued)
- [PATCH 3/9] hw/block/nvme: support per-namespace smart log, Keith Busch, 2020/09/30
- [PATCH 4/9] hw/block/nvme: validate command set selected, Keith Busch, 2020/09/30
- [PATCH 2/9] hw/block/nvme: fix log page offset check, Keith Busch, 2020/09/30
- [PATCH 6/9] hw/block/nvme: reject io commands if only admin command set selected, Keith Busch, 2020/09/30
- [PATCH 5/9] hw/block/nvme: support for admin-only command set, Keith Busch, 2020/09/30
- [PATCH 7/9] hw/block/nvme: add nsid to get/setfeat trace events, Keith Busch, 2020/09/30
- [PATCH 8/9] hw/block/nvme: add trace event for requests with non-zero status code, Keith Busch, 2020/09/30
- [PATCH 9/9] hw/block/nvme: report actual LBA data shift in LBAF,
Keith Busch <=