bdev/nvme: simplify nvme_version formatting

Drop the complicated buffer size/strlen math and just split the version
string formatting into two cases depending on whether the tertiary
version is set.

Change-Id: I4b4983cb8805e8734c408f473dd8c592ec8e8138
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
Daniel Verkamp 2016-12-06 15:25:28 -07:00
parent cdc332d178
commit 50365733e3

View File

@ -375,13 +375,12 @@ blockdev_nvme_dump_config_json(struct spdk_bdev *bdev, struct spdk_json_write_ct
spdk_json_write_name(w, "firmware_revision");
spdk_json_write_string(w, buf);
snprintf(buf, sizeof(buf), "%u.%u", vs.bits.mjr, vs.bits.mnr);
if (vs.bits.ter) {
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
".%u", vs.bits.ter);
}
spdk_json_write_name(w, "nvme_version");
spdk_json_write_string(w, buf);
if (vs.bits.ter) {
spdk_json_write_string_fmt(w, "%u.%u.%u", vs.bits.mjr, vs.bits.mnr, vs.bits.ter);
} else {
spdk_json_write_string_fmt(w, "%u.%u", vs.bits.mjr, vs.bits.mnr);
}
spdk_json_write_name(w, "nsid");
spdk_json_write_uint32(w, spdk_nvme_ns_get_id(ns));