From: NeilBrown Date: Thu, 28 Jan 2016 00:57:54 +0000 (+1100) Subject: super0: Fix reporting of devices between 2GB and 4GB X-Git-Tag: mdadm-3.4~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f7f28ee5030bbed94c4d54a8da908649ccb7ce0;p=thirdparty%2Fmdadm.git 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 --- diff --git a/Detail.c b/Detail.c index d0292191..0cfccadb 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 7f800147..59a6a034 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;