Tool/identify: correct the capacity size in byte

The capacity is calculated without single block size.

Correct the calculation.

Change-Id: I039e4dbdfc00f5d29148efc2c2a553535b7daf70
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2367
Community-CI: Mellanox Build Bot
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
GangCao 2020-05-11 15:19:25 -04:00 committed by Tomasz Zawadzki
parent d306693130
commit af0081f706

View File

@ -669,6 +669,7 @@ print_namespace(struct spdk_nvme_ns *ns)
uint32_t i;
uint32_t flags;
char uuid_str[SPDK_UUID_STRING_LEN];
uint32_t blocksize;
nsdata = spdk_nvme_ns_get_data(ns);
flags = spdk_nvme_ns_get_flags(ns);
@ -711,15 +712,16 @@ print_namespace(struct spdk_nvme_ns *ns)
}
printf("Namespace Sharing Capabilities: %s\n",
nsdata->nmic.can_share ? "Multiple Controllers" : "Private");
printf("Size (in LBAs): %lld (%lldM)\n",
blocksize = 1 << nsdata->lbaf[nsdata->flbas.format].lbads;
printf("Size (in LBAs): %lld (%lldGiB)\n",
(long long)nsdata->nsze,
(long long)nsdata->nsze / 1024 / 1024);
printf("Capacity (in LBAs): %lld (%lldM)\n",
(long long)nsdata->nsze * blocksize / 1024 / 1024 / 1024);
printf("Capacity (in LBAs): %lld (%lldGiB)\n",
(long long)nsdata->ncap,
(long long)nsdata->ncap / 1024 / 1024);
printf("Utilization (in LBAs): %lld (%lldM)\n",
(long long)nsdata->ncap * blocksize / 1024 / 1024 / 1024);
printf("Utilization (in LBAs): %lld (%lldGiB)\n",
(long long)nsdata->nuse,
(long long)nsdata->nuse / 1024 / 1024);
(long long)nsdata->nuse * blocksize / 1024 / 1024 / 1024);
if (nsdata->noiob) {
printf("Optimal I/O Boundary: %u blocks\n", nsdata->noiob);
}