nvme-cli: Fix the displayed metadata length value on Big Endian systems.
PATCH 1/1 nvme-cli: Fix the displayed metadata length value on Big Endian systems.
On BE systems, the metadata length value displayed as part of the format in the nvme list command is byte swapped. So a value of 0 appears just fine but a value of 8 bytes is displayed as 0x0800. This patch fixes that is the value is correct for both LE and BE systems.
Signed-off-by Jeff Lien <jeff.lien at wdc.com>
--- nvme-print.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
nvme-print.c +1 -1
@@ -2050,7 +2050,7 @@ static void show_list_item(struct list_item list_item)sprintf (usage,"%6.2f %2sB / %6.2f %2sB" , nuse, u_suffix, nsze, s_suffix);sprintf (format,"%3.0f %2sB + %2d B" , (double )lba, l_suffix, - list_item.ns.lbaf[(list_item.ns.flbas &0x0f )].ms); +le16_to_cpu (list_item.ns.lbaf[(list_item.ns.flbas &0x0f )].ms)); printf("%-16s %-*.*s %-*.*s %-9d %-26s %-16s %-.*s\n", list_item.node, (int)sizeof(list_item.ctrl.sn), (int)sizeof(list_item.ctrl.sn), list_item.ctrl.sn, (int)sizeof(list_item.ctrl.mn), (int)sizeof(list_item.ctrl.mn), list_item.ctrl.mn,
Signature · 1 line
1.8.3.1
Keith Busch
AppliedPATCH 1/1 nvme-cli: Fix the displayed metadata length value on Big Endian systems.
Quoted 7 lines · Jeff Lien
On BE systems, the metadata length value displayed as part of the format in the nvme list command is byte swapped. So a value of 0 appears just fine but a value of 8 bytes is displayed as
0x0800. This patch fixes that is the value is correct for both LE and BE systems.Signed-off-by Jeff Lien <jeff.lien at wdc.com>
Thanks, applied.