File 0157-super0-Fix-reporting-of-devices-between-2GB-and-4GB.patch of Package mdadm.5365

From 9f7f28ee5030bbed94c4d54a8da908649ccb7ce0 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb@suse.com>
Date: Thu, 28 Jan 2016 11:57:54 +1100
Subject: [PATCH 217/359] super0: Fix reporting of devices between 2GB and 4GB
References: bsc#1081910

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 <neilb@suse.com>
Signed-off-by: Coly Li <colyli@suse.de>

---
 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<<MD_SB_BITMAP_PRESENT))
 		info->bitmap_offset = 8;
-- 
2.16.1

openSUSE Build Service is sponsored by