From: Steve Date: Mon, 23 Oct 2017 20:46:32 +0000 (-0400) Subject: Include sizing data in json output that's already included in the non-json results. X-Git-Tag: v1.5~40^2~1 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=2e18d94f3b28d49d958df06a5c96c66c8222fc1d;p=users%2Fhch%2Fnvme-cli.git Include sizing data in json output that's already included in the non-json results. --- diff --git a/nvme-print.c b/nvme-print.c index df4ed59..91d6a05 100644 --- a/nvme-print.c +++ b/nvme-print.c @@ -1454,6 +1454,23 @@ void json_print_list_items(struct list_item *list_items, unsigned len) formatter); json_array_add_value_object(devices, device_attrs); + + long long int lba = 1 << list_items[i].ns.lbaf[(list_items[i].ns.flbas & 0x0f)].ds; + double nsze = le64_to_cpu(list_items[i].ns.nsze) * lba; + double nuse = le64_to_cpu(list_items[i].ns.nuse) * lba; + json_object_add_value_int(device_attrs, + "UsedBytes", + nuse); + json_object_add_value_int(device_attrs, + "MaximiumLBA", + le64_to_cpu(list_items[i].ns.nsze)); + json_object_add_value_int(device_attrs, + "PhysicalSize", + nsze); + json_object_add_value_int(device_attrs, + "SectorSize", + lba); + free((void*)product); } if (i)