From 9f7f28ee5030bbed94c4d54a8da908649ccb7ce0 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Thu, 28 Jan 2016 11:57:54 +1100 Subject: [PATCH] super0: Fix reporting of devices between 2GB and 4GB v0.90 metadata can handle devices between 2GB and 4GB, but we need to treat the 'size' and unsigned. In a couple of places we don't. URL: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809447 Signed-off-by: NeilBrown --- Detail.c | 5 +++-- super0.c | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Detail.c b/Detail.c index d029219..0cfccad 100644 --- a/Detail.c +++ b/Detail.c @@ -425,8 +425,9 @@ int Detail(char *dev, struct context *c) else printf(" Used Dev Size : unknown\n"); } else - printf(" Used Dev Size : %d%s\n", array.size, - human_size((long long)array.size<<10)); + printf(" Used Dev Size : %lu%s\n", + (unsigned long)array.size, + human_size((unsigned long long)array.size<<10)); } if (array.raid_disks) printf(" Raid Devices : %d\n", array.raid_disks); diff --git a/super0.c b/super0.c index 7f80014..59a6a03 100644 --- a/super0.c +++ b/super0.c @@ -405,7 +405,8 @@ static void getinfo_super0(struct supertype *st, struct mdinfo *info, char *map) info->array.utime = sb->utime; info->array.chunk_size = sb->chunk_size; info->array.state = sb->state; - info->component_size = sb->size*2; + info->component_size = sb->size; + info->component_size *= 2; if (sb->state & (1<bitmap_offset = 8;