Thread (6 messages) 6 messages, 2 authors, 2017-05-11

Re: [PATCH] IMSM: Correct --examine output for 4k disks

From: Jes Sorensen <jes.sorensen@gmail.com>
Date: 2017-05-09 16:04:27

On 05/09/2017 08:03 AM, Mariusz Dabrowski wrote:
From: Maksymilian Kunt <redacted>

"Array Size" and "Per Dev Size" are incorrect for disks with sector size
different than 512B.

Calculate "Array Size" and "Per Dev Size" based on sector size. Additionally
print "Sector Size".

Signed-off-by: Maksymilian Kunt <redacted>
Signed-off-by: Mariusz Dabrowski <redacted>
---
  super-intel.c | 7 +++++--
  1 file changed, 5 insertions(+), 2 deletions(-)
I am a little wary of this change as it changes the order of the output. 
Does anyone have tools parsing this information which could break from this?

Jes
quoted hunk ↗ jump to hunk
diff --git a/super-intel.c b/super-intel.c
index e13c940..147a70c 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -1473,13 +1473,16 @@ static void print_imsm_dev(struct intel_super *super,
  		       ord & IMSM_ORD_REBUILD ? " (out-of-sync)" : "");
  	} else
  		printf("      This Slot : ?\n");
+	printf("    Sector Size : %u\n", super->sector_size);
  	sz = __le32_to_cpu(dev->size_high);
  	sz <<= 32;
  	sz += __le32_to_cpu(dev->size_low);
-	printf("     Array Size : %llu%s\n", (unsigned long long)sz,
+	printf("     Array Size : %llu%s\n",
+		   (unsigned long long)sz * 512 / super->sector_size,
  	       human_size(sz * 512));
  	sz = blocks_per_member(map);
-	printf("   Per Dev Size : %llu%s\n", (unsigned long long)sz,
+	printf("   Per Dev Size : %llu%s\n",
+		   (unsigned long long)sz * 512 / super->sector_size,
  	       human_size(sz * 512));
  	printf("  Sector Offset : %llu\n",
  		pba_of_lba0(map));
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help