[PATCH] Make --examine print sizes more consistently

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Corey Hickey <bugfood-c@xxxxxxxxxx>

Within the output of "mdadm --examine", there are three sizes reported
on adjacent lines. For example:

$ sudo mdadm --examine /dev/md3
[...]
 Avail Dev Size : 17580545024 (8383.06 GiB 9001.24 GB)
     Array Size : 17580417024 (16765.99 GiB 18002.35 GB)
  Used Dev Size : 11720278016 (5588.66 GiB 6000.78 GB)
[...]

This can be confusing, since the first and third line are in 512-byte
sectors, and the second is in KiB. Elsewhere, the program explicitly
states "sectors" when giving values in sectors.

This patch makes each value be printed in KiB and adds "KiB" to remove
all ambiguity. For example:

 Avail Dev Size : 8790272512 KiB (8383.06 GiB 9001.24 GB)
     Array Size : 17580417024 KiB (16765.99 GiB 18002.35 GB)
  Used Dev Size : 5860139008 KiB (5588.66 GiB 6000.78 GB)

(I don't particularly like the "KiB" notation, but it is at least
unambiguous.)

Signed-off-by: Corey Hickey <bugfood-c@xxxxxxxxxx>
---
 super1.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/super1.c b/super1.c
index 636a286..6b5dcb9 100644
--- a/super1.c
+++ b/super1.c
@@ -360,8 +360,8 @@ static void examine_super1(struct supertype *st, char *homehost)
 	printf("     Raid Level : %s\n", c?c:"-unknown-");
 	printf("   Raid Devices : %d\n", __le32_to_cpu(sb->raid_disks));
 	printf("\n");
-	printf(" Avail Dev Size : %llu%s\n",
-	       (unsigned long long)__le64_to_cpu(sb->data_size),
+	printf(" Avail Dev Size : %llu KiB%s\n",
+	       (unsigned long long)__le64_to_cpu(sb->data_size)>>1,
 	       human_size(__le64_to_cpu(sb->data_size)<<9));
 	if (__le32_to_cpu(sb->level) > 0) {
 		int ddsks = 0, ddsks_denom = 1;
@@ -378,12 +378,12 @@ static void examine_super1(struct supertype *st, char *homehost)
 		if (ddsks) {
 			long long asize = __le64_to_cpu(sb->size);
 			asize = (asize << 9) * ddsks / ddsks_denom;
-			printf("     Array Size : %llu%s\n",
+			printf("     Array Size : %llu KiB%s\n",
 			       asize >> 10,  human_size(asize));
 		}
 		if (sb->size != sb->data_size)
-			printf("  Used Dev Size : %llu%s\n",
-			       (unsigned long long)__le64_to_cpu(sb->size),
+			printf("  Used Dev Size : %llu KiB%s\n",
+			       (unsigned long long)__le64_to_cpu(sb->size)>>1,
 			       human_size(__le64_to_cpu(sb->size)<<9));
 	}
 	if (sb->data_offset)
-- 
2.20.0




[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux